From 4f96dc24a52e740d6a152d397034478703390927 Mon Sep 17 00:00:00 2001 From: Matthew Christopher Date: Thu, 28 Mar 2024 14:48:43 -0700 Subject: [PATCH] New MySQL version --- docs/hugo/content/reference/_index.md | 28 +- .../content/reference/dbformysql/_index.md | 28 +- .../flexible_server_extension_types_gen.go | 6 +- .../flexible_server_extensions.go | 2 +- ...rvers_administrator_extension_types_gen.go | 6 +- ...rvers_configuration_extension_types_gen.go | 6 +- ...le_servers_database_extension_types_gen.go | 6 +- ...rvers_firewall_rule_extension_types_gen.go | 6 +- .../flexible_server_types_gen.go | 498 +- .../flexible_server_types_gen_test.go | 101 +- .../flexible_servers_database_types_gen.go | 54 +- ...lexible_servers_database_types_gen_test.go | 3 +- ...lexible_servers_firewall_rule_types_gen.go | 64 +- ...le_servers_firewall_rule_types_gen_test.go | 3 +- .../storage/flexible_server_types_gen.go | 2814 ++++++++- .../storage/flexible_server_types_gen_test.go | 1114 +++- .../flexible_servers_database_types_gen.go | 410 +- ...lexible_servers_database_types_gen_test.go | 170 + ...lexible_servers_firewall_rule_types_gen.go | 410 +- ...le_servers_firewall_rule_types_gen_test.go | 170 + .../v1api20210501/storage/structure.txt | 37 +- .../storage/zz_generated.deepcopy.go | 37 + v2/api/dbformysql/v1api20210501/structure.txt | 5 +- .../v1api20210501/zz_generated.deepcopy.go | 30 + ...lexible_servers_administrator_types_gen.go | 73 +- ...le_servers_administrator_types_gen_test.go | 3 +- ...lexible_servers_configuration_types_gen.go | 62 +- ...le_servers_configuration_types_gen_test.go | 3 +- ...lexible_servers_administrator_types_gen.go | 562 +- ...le_servers_administrator_types_gen_test.go | 212 + ...lexible_servers_configuration_types_gen.go | 459 +- ...le_servers_configuration_types_gen_test.go | 170 + .../v1api20220101/storage/structure.txt | 77 +- v2/api/dbformysql/v1api20230630/doc.go | 10 + .../flexible_server_spec_arm_types_gen.go | 224 + ...flexible_server_spec_arm_types_gen_test.go | 821 +++ .../flexible_server_status_arm_types_gen.go | 308 + ...exible_server_status_arm_types_gen_test.go | 911 +++ .../flexible_server_types_gen.go | 5563 +++++++++++++++++ .../flexible_server_types_gen_test.go | 2968 +++++++++ ...ervers_administrator_spec_arm_types_gen.go | 46 + ...s_administrator_spec_arm_types_gen_test.go | 158 + ...vers_administrator_status_arm_types_gen.go | 40 + ...administrator_status_arm_types_gen_test.go | 161 + ...lexible_servers_administrator_types_gen.go | 1012 +++ ...le_servers_administrator_types_gen_test.go | 396 ++ ...ervers_configuration_spec_arm_types_gen.go | 42 + ...s_configuration_spec_arm_types_gen_test.go | 156 + ...vers_configuration_status_arm_types_gen.go | 58 + ...configuration_status_arm_types_gen_test.go | 167 + ...lexible_servers_configuration_types_gen.go | 1088 ++++ ...le_servers_configuration_types_gen_test.go | 402 ++ ...ble_servers_database_spec_arm_types_gen.go | 39 + ...ervers_database_spec_arm_types_gen_test.go | 155 + ...e_servers_database_status_arm_types_gen.go | 31 + ...vers_database_status_arm_types_gen_test.go | 158 + .../flexible_servers_database_types_gen.go | 774 +++ ...lexible_servers_database_types_gen_test.go | 392 ++ ...ervers_firewall_rule_spec_arm_types_gen.go | 39 + ...s_firewall_rule_spec_arm_types_gen_test.go | 155 + ...vers_firewall_rule_status_arm_types_gen.go | 31 + ...firewall_rule_status_arm_types_gen_test.go | 158 + ...lexible_servers_firewall_rule_types_gen.go | 808 +++ ...le_servers_firewall_rule_types_gen_test.go | 392 ++ .../v1api20230630/groupversion_info_gen.go | 32 + .../storage/flexible_server_types_gen.go | 512 ++ .../storage/flexible_server_types_gen_test.go | 1763 ++++++ ...lexible_servers_administrator_types_gen.go | 219 + ...le_servers_administrator_types_gen_test.go | 227 + ...lexible_servers_configuration_types_gen.go | 221 + ...le_servers_configuration_types_gen_test.go | 233 + .../flexible_servers_database_types_gen.go | 212 + ...lexible_servers_database_types_gen_test.go | 223 + ...lexible_servers_firewall_rule_types_gen.go | 212 + ...le_servers_firewall_rule_types_gen_test.go | 223 + .../storage/groupversion_info_gen.go | 32 + .../v1api20230630/storage/structure.txt | 276 + .../storage/zz_generated.deepcopy.go | 1981 ++++++ v2/api/dbformysql/v1api20230630/structure.txt | 690 ++ .../v1api20230630/zz_generated.deepcopy.go | 3226 ++++++++++ v2/api/dbformysql/versions_matrix.md | 161 +- v2/azure-arm.yaml | 52 + .../controllers/controller_resources_gen.go | 63 +- ...bformysql_flexibleserver_20210501_test.go} | 22 +- ...dbformysql_flexibleserver_20230630_test.go | 244 + ...ForMySQL_FlexibleServer_20210501_CRUD.yaml | 4109 ++++++++++++ ...ForMySQL_FlexibleServer_20230630_CRUD.yaml | 4007 ++++++++++++ .../Test_DBForMySQL_FlexibleServer_CRUD.yaml | 2558 -------- ...sql_v1api20210501_CreationAndDeletion.yaml | 1895 ++++++ ...sql_v1api20220101_CreationAndDeletion.yaml | 1793 ++++++ ...sql_v1api20230630_CreationAndDeletion.yaml | 3041 +++++++++ ..._Dbformysql_v1api_CreationAndDeletion.yaml | 2096 +------ .../user_assigned_identities_test.go | 2 +- .../azure_generic_arm_reconciler_instance.go | 2 +- v2/internal/reconcilers/mysql/connector.go | 2 +- .../v1api20181130_userassignedidentity.yaml | 0 .../v1api20210501_flexibleserver.yaml | 0 ...v1api20210501_flexibleserversdatabase.yaml | 0 ...i20210501_flexibleserversfirewallrule.yaml | 0 .../v1api20181130_userassignedidentity.yaml | 17 + .../v1api20210501_flexibleserver.yaml | 27 + ...20220101_flexibleserversadministrator.yaml | 0 ...20220101_flexibleserversconfiguration.yaml | 0 .../v1api20181130_userassignedidentity.yaml | 17 + .../v1api20230630_flexibleserver.yaml | 27 + ...20230630_flexibleserversadministrator.yaml | 23 + ...20230630_flexibleserversconfiguration.yaml | 11 + ...v1api20230630_flexibleserversdatabase.yaml | 9 + ...i20230630_flexibleserversfirewallrule.yaml | 10 + 109 files changed, 50294 insertions(+), 5468 deletions(-) create mode 100644 v2/api/dbformysql/v1api20230630/doc.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_server_spec_arm_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_server_spec_arm_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_server_status_arm_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_server_status_arm_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_server_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_server_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_administrator_spec_arm_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_administrator_spec_arm_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_administrator_status_arm_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_administrator_status_arm_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_administrator_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_administrator_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_configuration_spec_arm_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_configuration_spec_arm_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_configuration_status_arm_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_configuration_status_arm_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_configuration_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_configuration_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_database_spec_arm_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_database_spec_arm_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_database_status_arm_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_database_status_arm_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_database_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_database_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_spec_arm_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_spec_arm_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_status_arm_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_status_arm_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/groupversion_info_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/storage/flexible_server_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/storage/flexible_server_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/storage/flexible_servers_administrator_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/storage/flexible_servers_administrator_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/storage/flexible_servers_configuration_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/storage/flexible_servers_configuration_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/storage/flexible_servers_database_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/storage/flexible_servers_database_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/storage/flexible_servers_firewall_rule_types_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/storage/flexible_servers_firewall_rule_types_gen_test.go create mode 100644 v2/api/dbformysql/v1api20230630/storage/groupversion_info_gen.go create mode 100644 v2/api/dbformysql/v1api20230630/storage/structure.txt create mode 100644 v2/api/dbformysql/v1api20230630/storage/zz_generated.deepcopy.go create mode 100644 v2/api/dbformysql/v1api20230630/structure.txt create mode 100644 v2/api/dbformysql/v1api20230630/zz_generated.deepcopy.go rename v2/internal/controllers/{crd_dbformysql_flexibleserver_test.go => dbformysql_flexibleserver_20210501_test.go} (86%) create mode 100644 v2/internal/controllers/dbformysql_flexibleserver_20230630_test.go create mode 100644 v2/internal/controllers/recordings/Test_DBForMySQL_FlexibleServer_20210501_CRUD.yaml create mode 100644 v2/internal/controllers/recordings/Test_DBForMySQL_FlexibleServer_20230630_CRUD.yaml delete mode 100644 v2/internal/controllers/recordings/Test_DBForMySQL_FlexibleServer_CRUD.yaml create mode 100644 v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api20210501_CreationAndDeletion.yaml create mode 100644 v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api20220101_CreationAndDeletion.yaml create mode 100644 v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api20230630_CreationAndDeletion.yaml rename v2/samples/dbformysql/{v1api => v1api20210501}/refs/v1api20181130_userassignedidentity.yaml (100%) rename v2/samples/dbformysql/{v1api => v1api20210501}/v1api20210501_flexibleserver.yaml (100%) rename v2/samples/dbformysql/{v1api => v1api20210501}/v1api20210501_flexibleserversdatabase.yaml (100%) rename v2/samples/dbformysql/{v1api => v1api20210501}/v1api20210501_flexibleserversfirewallrule.yaml (100%) create mode 100644 v2/samples/dbformysql/v1api20220101/refs/v1api20181130_userassignedidentity.yaml create mode 100644 v2/samples/dbformysql/v1api20220101/v1api20210501_flexibleserver.yaml rename v2/samples/dbformysql/{v1api => v1api20220101}/v1api20220101_flexibleserversadministrator.yaml (100%) rename v2/samples/dbformysql/{v1api => v1api20220101}/v1api20220101_flexibleserversconfiguration.yaml (100%) create mode 100644 v2/samples/dbformysql/v1api20230630/refs/v1api20181130_userassignedidentity.yaml create mode 100644 v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserver.yaml create mode 100644 v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversadministrator.yaml create mode 100644 v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversconfiguration.yaml create mode 100644 v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversdatabase.yaml create mode 100644 v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversfirewallrule.yaml diff --git a/docs/hugo/content/reference/_index.md b/docs/hugo/content/reference/_index.md index 5d7292c5125..c72ed66731a 100644 --- a/docs/hugo/content/reference/_index.md +++ b/docs/hugo/content/reference/_index.md @@ -256,18 +256,30 @@ Azure Database for MySQL - Single Server is on the retirement path and is [sched Existing instances of *Single Server* can be migrated to *Azure Database for MySQL - Flexible Server* using the [Azure Database migration Service](https://azure.microsoft.com/en-us/products/database-migration). +### Next Release + +Development of these new resources is complete and they will be available in the next release of ASO. + +| Resource | ARM Version | CRD Version | Supported From | Sample | +|------------------------------|-------------|---------------|----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------| +| FlexibleServer | 2023-06-30 | v1api20230630 | v2.7.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserver.yaml) | +| FlexibleServersAdministrator | 2023-06-30 | v1api20230630 | v2.7.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversadministrator.yaml) | +| FlexibleServersConfiguration | 2023-06-30 | v1api20230630 | v2.7.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversconfiguration.yaml) | +| FlexibleServersDatabase | 2023-06-30 | v1api20230630 | v2.7.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversdatabase.yaml) | +| FlexibleServersFirewallRule | 2023-06-30 | v1api20230630 | v2.7.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversfirewallrule.yaml) | + ### Released These resource(s) are available for use in the current release of ASO. Different versions of a given resource reflect different versions of the Azure ARM API. -| Resource | ARM Version | CRD Version | Supported From | Sample | -|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|---------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------| -| [FlexibleServer](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20210501/#dbformysql.azure.com/v1api20210501.FlexibleServer) | 2021-05-01 | v1api20210501 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api/v1api20210501_flexibleserver.yaml) | -| [FlexibleServersAdministrator](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20220101/#dbformysql.azure.com/v1api20220101.FlexibleServersAdministrator) | 2022-01-01 | v1api20220101 | v2.1.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api/v1api20220101_flexibleserversadministrator.yaml) | -| [FlexibleServersConfiguration](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20220101/#dbformysql.azure.com/v1api20220101.FlexibleServersConfiguration) | 2022-01-01 | v1api20220101 | v2.1.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api/v1api20220101_flexibleserversconfiguration.yaml) | -| [FlexibleServersDatabase](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20210501/#dbformysql.azure.com/v1api20210501.FlexibleServersDatabase) | 2021-05-01 | v1api20210501 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api/v1api20210501_flexibleserversdatabase.yaml) | -| [FlexibleServersFirewallRule](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20210501/#dbformysql.azure.com/v1api20210501.FlexibleServersFirewallRule) | 2021-05-01 | v1api20210501 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api/v1api20210501_flexibleserversfirewallrule.yaml) | -| [User](https://azure.github.io/azure-service-operator/reference/dbformysql/v1/#dbformysql.azure.com/v1.User) | v1 | v1 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api/v1_user.yaml) | +| Resource | ARM Version | CRD Version | Supported From | Sample | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|---------------|----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------| +| [FlexibleServer](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20210501/#dbformysql.azure.com/v1api20210501.FlexibleServer) | 2021-05-01 | v1api20210501 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20220101/v1api20210501_flexibleserver.yaml) | +| [FlexibleServersAdministrator](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20220101/#dbformysql.azure.com/v1api20220101.FlexibleServersAdministrator) | 2022-01-01 | v1api20220101 | v2.1.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20220101/v1api20220101_flexibleserversadministrator.yaml) | +| [FlexibleServersConfiguration](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20220101/#dbformysql.azure.com/v1api20220101.FlexibleServersConfiguration) | 2022-01-01 | v1api20220101 | v2.1.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20220101/v1api20220101_flexibleserversconfiguration.yaml) | +| [FlexibleServersDatabase](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20210501/#dbformysql.azure.com/v1api20210501.FlexibleServersDatabase) | 2021-05-01 | v1api20210501 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20210501/v1api20210501_flexibleserversdatabase.yaml) | +| [FlexibleServersFirewallRule](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20210501/#dbformysql.azure.com/v1api20210501.FlexibleServersFirewallRule) | 2021-05-01 | v1api20210501 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20210501/v1api20210501_flexibleserversfirewallrule.yaml) | +| [User](https://azure.github.io/azure-service-operator/reference/dbformysql/v1/#dbformysql.azure.com/v1.User) | v1 | v1 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api/v1_user.yaml) | ## DBforPostgreSQL diff --git a/docs/hugo/content/reference/dbformysql/_index.md b/docs/hugo/content/reference/dbformysql/_index.md index 9a5410c8616..fa0164c440f 100644 --- a/docs/hugo/content/reference/dbformysql/_index.md +++ b/docs/hugo/content/reference/dbformysql/_index.md @@ -9,16 +9,28 @@ Azure Database for MySQL - Single Server is on the retirement path and is [sched Existing instances of *Single Server* can be migrated to *Azure Database for MySQL - Flexible Server* using the [Azure Database migration Service](https://azure.microsoft.com/en-us/products/database-migration). +### Next Release + +Development of these new resources is complete and they will be available in the next release of ASO. + +| Resource | ARM Version | CRD Version | Supported From | Sample | +|------------------------------|-------------|---------------|----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------| +| FlexibleServer | 2023-06-30 | v1api20230630 | v2.7.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserver.yaml) | +| FlexibleServersAdministrator | 2023-06-30 | v1api20230630 | v2.7.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversadministrator.yaml) | +| FlexibleServersConfiguration | 2023-06-30 | v1api20230630 | v2.7.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversconfiguration.yaml) | +| FlexibleServersDatabase | 2023-06-30 | v1api20230630 | v2.7.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversdatabase.yaml) | +| FlexibleServersFirewallRule | 2023-06-30 | v1api20230630 | v2.7.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversfirewallrule.yaml) | + ### Released These resource(s) are available for use in the current release of ASO. Different versions of a given resource reflect different versions of the Azure ARM API. -| Resource | ARM Version | CRD Version | Supported From | Sample | -|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|---------------|----------------|-----------------------------------------------------------------------------------------------------------------------------------------------| -| [FlexibleServer](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20210501/#dbformysql.azure.com/v1api20210501.FlexibleServer) | 2021-05-01 | v1api20210501 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api/v1api20210501_flexibleserver.yaml) | -| [FlexibleServersAdministrator](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20220101/#dbformysql.azure.com/v1api20220101.FlexibleServersAdministrator) | 2022-01-01 | v1api20220101 | v2.1.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api/v1api20220101_flexibleserversadministrator.yaml) | -| [FlexibleServersConfiguration](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20220101/#dbformysql.azure.com/v1api20220101.FlexibleServersConfiguration) | 2022-01-01 | v1api20220101 | v2.1.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api/v1api20220101_flexibleserversconfiguration.yaml) | -| [FlexibleServersDatabase](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20210501/#dbformysql.azure.com/v1api20210501.FlexibleServersDatabase) | 2021-05-01 | v1api20210501 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api/v1api20210501_flexibleserversdatabase.yaml) | -| [FlexibleServersFirewallRule](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20210501/#dbformysql.azure.com/v1api20210501.FlexibleServersFirewallRule) | 2021-05-01 | v1api20210501 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api/v1api20210501_flexibleserversfirewallrule.yaml) | -| [User](https://azure.github.io/azure-service-operator/reference/dbformysql/v1/#dbformysql.azure.com/v1.User) | v1 | v1 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api/v1_user.yaml) | +| Resource | ARM Version | CRD Version | Supported From | Sample | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------|---------------|----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------| +| [FlexibleServer](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20210501/#dbformysql.azure.com/v1api20210501.FlexibleServer) | 2021-05-01 | v1api20210501 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20220101/v1api20210501_flexibleserver.yaml) | +| [FlexibleServersAdministrator](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20220101/#dbformysql.azure.com/v1api20220101.FlexibleServersAdministrator) | 2022-01-01 | v1api20220101 | v2.1.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20220101/v1api20220101_flexibleserversadministrator.yaml) | +| [FlexibleServersConfiguration](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20220101/#dbformysql.azure.com/v1api20220101.FlexibleServersConfiguration) | 2022-01-01 | v1api20220101 | v2.1.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20220101/v1api20220101_flexibleserversconfiguration.yaml) | +| [FlexibleServersDatabase](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20210501/#dbformysql.azure.com/v1api20210501.FlexibleServersDatabase) | 2021-05-01 | v1api20210501 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20210501/v1api20210501_flexibleserversdatabase.yaml) | +| [FlexibleServersFirewallRule](https://azure.github.io/azure-service-operator/reference/dbformysql/v1api20210501/#dbformysql.azure.com/v1api20210501.FlexibleServersFirewallRule) | 2021-05-01 | v1api20210501 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api20210501/v1api20210501_flexibleserversfirewallrule.yaml) | +| [User](https://azure.github.io/azure-service-operator/reference/dbformysql/v1/#dbformysql.azure.com/v1.User) | v1 | v1 | v2.0.0 | [View](https://github.com/Azure/azure-service-operator/tree/main/v2/samples/dbformysql/v1api/v1_user.yaml) | diff --git a/v2/api/dbformysql/customizations/flexible_server_extension_types_gen.go b/v2/api/dbformysql/customizations/flexible_server_extension_types_gen.go index 2c480bc5459..ca6a872bd8d 100644 --- a/v2/api/dbformysql/customizations/flexible_server_extension_types_gen.go +++ b/v2/api/dbformysql/customizations/flexible_server_extension_types_gen.go @@ -6,6 +6,8 @@ package customizations import ( v20210501 "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501" v20210501s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501/storage" + v20230630 "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" ) @@ -16,5 +18,7 @@ type FlexibleServerExtension struct { func (extension *FlexibleServerExtension) GetExtendedResources() []genruntime.KubernetesResource { return []genruntime.KubernetesResource{ &v20210501.FlexibleServer{}, - &v20210501s.FlexibleServer{}} + &v20210501s.FlexibleServer{}, + &v20230630.FlexibleServer{}, + &v20230630s.FlexibleServer{}} } diff --git a/v2/api/dbformysql/customizations/flexible_server_extensions.go b/v2/api/dbformysql/customizations/flexible_server_extensions.go index 591b67d6931..20e925e852b 100644 --- a/v2/api/dbformysql/customizations/flexible_server_extensions.go +++ b/v2/api/dbformysql/customizations/flexible_server_extensions.go @@ -14,7 +14,7 @@ import ( "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/conversion" - mysql "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501/storage" + mysql "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" . "github.com/Azure/azure-service-operator/v2/internal/logging" "github.com/Azure/azure-service-operator/v2/internal/util/to" diff --git a/v2/api/dbformysql/customizations/flexible_servers_administrator_extension_types_gen.go b/v2/api/dbformysql/customizations/flexible_servers_administrator_extension_types_gen.go index 8ac0035397f..65935edce8a 100644 --- a/v2/api/dbformysql/customizations/flexible_servers_administrator_extension_types_gen.go +++ b/v2/api/dbformysql/customizations/flexible_servers_administrator_extension_types_gen.go @@ -6,6 +6,8 @@ package customizations import ( v20220101 "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20220101" v20220101s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20220101/storage" + v20230630 "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" ) @@ -16,5 +18,7 @@ type FlexibleServersAdministratorExtension struct { func (extension *FlexibleServersAdministratorExtension) GetExtendedResources() []genruntime.KubernetesResource { return []genruntime.KubernetesResource{ &v20220101.FlexibleServersAdministrator{}, - &v20220101s.FlexibleServersAdministrator{}} + &v20220101s.FlexibleServersAdministrator{}, + &v20230630.FlexibleServersAdministrator{}, + &v20230630s.FlexibleServersAdministrator{}} } diff --git a/v2/api/dbformysql/customizations/flexible_servers_configuration_extension_types_gen.go b/v2/api/dbformysql/customizations/flexible_servers_configuration_extension_types_gen.go index 9bdbe97e32c..4bfbf54da16 100644 --- a/v2/api/dbformysql/customizations/flexible_servers_configuration_extension_types_gen.go +++ b/v2/api/dbformysql/customizations/flexible_servers_configuration_extension_types_gen.go @@ -6,6 +6,8 @@ package customizations import ( v20220101 "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20220101" v20220101s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20220101/storage" + v20230630 "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" ) @@ -16,5 +18,7 @@ type FlexibleServersConfigurationExtension struct { func (extension *FlexibleServersConfigurationExtension) GetExtendedResources() []genruntime.KubernetesResource { return []genruntime.KubernetesResource{ &v20220101.FlexibleServersConfiguration{}, - &v20220101s.FlexibleServersConfiguration{}} + &v20220101s.FlexibleServersConfiguration{}, + &v20230630.FlexibleServersConfiguration{}, + &v20230630s.FlexibleServersConfiguration{}} } diff --git a/v2/api/dbformysql/customizations/flexible_servers_database_extension_types_gen.go b/v2/api/dbformysql/customizations/flexible_servers_database_extension_types_gen.go index fe71fb0d664..5fdfc7dd9ec 100644 --- a/v2/api/dbformysql/customizations/flexible_servers_database_extension_types_gen.go +++ b/v2/api/dbformysql/customizations/flexible_servers_database_extension_types_gen.go @@ -6,6 +6,8 @@ package customizations import ( v20210501 "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501" v20210501s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501/storage" + v20230630 "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" ) @@ -16,5 +18,7 @@ type FlexibleServersDatabaseExtension struct { func (extension *FlexibleServersDatabaseExtension) GetExtendedResources() []genruntime.KubernetesResource { return []genruntime.KubernetesResource{ &v20210501.FlexibleServersDatabase{}, - &v20210501s.FlexibleServersDatabase{}} + &v20210501s.FlexibleServersDatabase{}, + &v20230630.FlexibleServersDatabase{}, + &v20230630s.FlexibleServersDatabase{}} } diff --git a/v2/api/dbformysql/customizations/flexible_servers_firewall_rule_extension_types_gen.go b/v2/api/dbformysql/customizations/flexible_servers_firewall_rule_extension_types_gen.go index 9052d1135ae..0273ac0181a 100644 --- a/v2/api/dbformysql/customizations/flexible_servers_firewall_rule_extension_types_gen.go +++ b/v2/api/dbformysql/customizations/flexible_servers_firewall_rule_extension_types_gen.go @@ -6,6 +6,8 @@ package customizations import ( v20210501 "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501" v20210501s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501/storage" + v20230630 "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" ) @@ -16,5 +18,7 @@ type FlexibleServersFirewallRuleExtension struct { func (extension *FlexibleServersFirewallRuleExtension) GetExtendedResources() []genruntime.KubernetesResource { return []genruntime.KubernetesResource{ &v20210501.FlexibleServersFirewallRule{}, - &v20210501s.FlexibleServersFirewallRule{}} + &v20210501s.FlexibleServersFirewallRule{}, + &v20230630.FlexibleServersFirewallRule{}, + &v20230630s.FlexibleServersFirewallRule{}} } diff --git a/v2/api/dbformysql/v1api20210501/flexible_server_types_gen.go b/v2/api/dbformysql/v1api20210501/flexible_server_types_gen.go index a70f6ad1e8c..412a4c2b9a1 100644 --- a/v2/api/dbformysql/v1api20210501/flexible_server_types_gen.go +++ b/v2/api/dbformysql/v1api20210501/flexible_server_types_gen.go @@ -4,16 +4,21 @@ package v1api20210501 import ( + "context" "fmt" v20210501s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501/storage" + "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/go-logr/logr" "github.com/pkg/errors" "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/conversion" "sigs.k8s.io/controller-runtime/pkg/webhook/admission" ) @@ -50,22 +55,36 @@ var _ conversion.Convertible = &FlexibleServer{} // ConvertFrom populates our FlexibleServer from the provided hub FlexibleServer func (server *FlexibleServer) ConvertFrom(hub conversion.Hub) error { - source, ok := hub.(*v20210501s.FlexibleServer) - if !ok { - return fmt.Errorf("expected dbformysql/v1api20210501/storage/FlexibleServer but received %T instead", hub) + // intermediate variable for conversion + var source v20210501s.FlexibleServer + + err := source.ConvertFrom(hub) + if err != nil { + return errors.Wrap(err, "converting from hub to source") + } + + err = server.AssignProperties_From_FlexibleServer(&source) + if err != nil { + return errors.Wrap(err, "converting from source to server") } - return server.AssignProperties_From_FlexibleServer(source) + return nil } // ConvertTo populates the provided hub FlexibleServer from our FlexibleServer func (server *FlexibleServer) ConvertTo(hub conversion.Hub) error { - destination, ok := hub.(*v20210501s.FlexibleServer) - if !ok { - return fmt.Errorf("expected dbformysql/v1api20210501/storage/FlexibleServer but received %T instead", hub) + // intermediate variable for conversion + var destination v20210501s.FlexibleServer + err := server.AssignProperties_To_FlexibleServer(&destination) + if err != nil { + return errors.Wrap(err, "converting to destination from server") + } + err = destination.ConvertTo(hub) + if err != nil { + return errors.Wrap(err, "converting from destination to hub") } - return server.AssignProperties_To_FlexibleServer(destination) + return nil } // +kubebuilder:webhook:path=/mutate-dbformysql-azure-com-v1api20210501-flexibleserver,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=dbformysql.azure.com,resources=flexibleservers,verbs=create;update,versions=v1api20210501,name=default.v1api20210501.flexibleservers.dbformysql.azure.com,admissionReviewVersions=v1 @@ -91,15 +110,26 @@ func (server *FlexibleServer) defaultAzureName() { // defaultImpl applies the code generated defaults to the FlexibleServer resource func (server *FlexibleServer) defaultImpl() { server.defaultAzureName() } -var _ genruntime.ImportableResource = &FlexibleServer{} +var _ genruntime.KubernetesExporter = &FlexibleServer{} -// InitializeSpec initializes the spec for this resource from the given status -func (server *FlexibleServer) InitializeSpec(status genruntime.ConvertibleStatus) error { - if s, ok := status.(*FlexibleServer_STATUS); ok { - return server.Spec.Initialize_From_FlexibleServer_STATUS(s) +// ExportKubernetesResources defines a resource which can create other resources in Kubernetes. +func (server *FlexibleServer) ExportKubernetesResources(_ context.Context, _ genruntime.MetaObject, _ *genericarmclient.GenericClient, _ logr.Logger) ([]client.Object, error) { + collector := configmaps.NewCollector(server.Namespace) + if server.Spec.OperatorSpec != nil && server.Spec.OperatorSpec.ConfigMaps != nil { + if server.Status.AdministratorLogin != nil { + collector.AddValue(server.Spec.OperatorSpec.ConfigMaps.AdministratorLogin, *server.Status.AdministratorLogin) + } } - - return fmt.Errorf("expected Status of type FlexibleServer_STATUS but received %T instead", status) + if server.Spec.OperatorSpec != nil && server.Spec.OperatorSpec.ConfigMaps != nil { + if server.Status.FullyQualifiedDomainName != nil { + collector.AddValue(server.Spec.OperatorSpec.ConfigMaps.FullyQualifiedDomainName, *server.Status.FullyQualifiedDomainName) + } + } + result, err := collector.Values() + if err != nil { + return nil, err + } + return configmaps.SliceToClientObjectSlice(result), nil } var _ genruntime.KubernetesResource = &FlexibleServer{} @@ -209,7 +239,7 @@ func (server *FlexibleServer) ValidateUpdate(old runtime.Object) (admission.Warn // createValidations validates the creation of the resource func (server *FlexibleServer) createValidations() []func() (admission.Warnings, error) { - return []func() (admission.Warnings, error){server.validateResourceReferences, server.validateOwnerReference, server.validateSecretDestinations} + return []func() (admission.Warnings, error){server.validateResourceReferences, server.validateOwnerReference, server.validateSecretDestinations, server.validateConfigMapDestinations} } // deleteValidations validates the deletion of the resource @@ -230,7 +260,25 @@ func (server *FlexibleServer) updateValidations() []func(old runtime.Object) (ad func(old runtime.Object) (admission.Warnings, error) { return server.validateSecretDestinations() }, + func(old runtime.Object) (admission.Warnings, error) { + return server.validateConfigMapDestinations() + }, + } +} + +// validateConfigMapDestinations validates there are no colliding genruntime.ConfigMapDestinations +func (server *FlexibleServer) validateConfigMapDestinations() (admission.Warnings, error) { + if server.Spec.OperatorSpec == nil { + return nil, nil + } + if server.Spec.OperatorSpec.ConfigMaps == nil { + return nil, nil } + toValidate := []*genruntime.ConfigMapDestination{ + server.Spec.OperatorSpec.ConfigMaps.AdministratorLogin, + server.Spec.OperatorSpec.ConfigMaps.FullyQualifiedDomainName, + } + return genruntime.ValidateConfigMapDestinations(toValidate) } // validateOwnerReference validates the owner field @@ -1198,151 +1246,6 @@ func (server *FlexibleServer_Spec) AssignProperties_To_FlexibleServer_Spec(desti return nil } -// Initialize_From_FlexibleServer_STATUS populates our FlexibleServer_Spec from the provided source FlexibleServer_STATUS -func (server *FlexibleServer_Spec) Initialize_From_FlexibleServer_STATUS(source *FlexibleServer_STATUS) error { - - // AdministratorLogin - server.AdministratorLogin = genruntime.ClonePointerToString(source.AdministratorLogin) - - // AvailabilityZone - server.AvailabilityZone = genruntime.ClonePointerToString(source.AvailabilityZone) - - // Backup - if source.Backup != nil { - var backup Backup - err := backup.Initialize_From_Backup_STATUS(source.Backup) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_Backup_STATUS() to populate field Backup") - } - server.Backup = &backup - } else { - server.Backup = nil - } - - // CreateMode - if source.CreateMode != nil { - createMode := ServerProperties_CreateMode(*source.CreateMode) - server.CreateMode = &createMode - } else { - server.CreateMode = nil - } - - // DataEncryption - if source.DataEncryption != nil { - var dataEncryption DataEncryption - err := dataEncryption.Initialize_From_DataEncryption_STATUS(source.DataEncryption) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_DataEncryption_STATUS() to populate field DataEncryption") - } - server.DataEncryption = &dataEncryption - } else { - server.DataEncryption = nil - } - - // HighAvailability - if source.HighAvailability != nil { - var highAvailability HighAvailability - err := highAvailability.Initialize_From_HighAvailability_STATUS(source.HighAvailability) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_HighAvailability_STATUS() to populate field HighAvailability") - } - server.HighAvailability = &highAvailability - } else { - server.HighAvailability = nil - } - - // Identity - if source.Identity != nil { - var identity Identity - err := identity.Initialize_From_Identity_STATUS(source.Identity) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_Identity_STATUS() to populate field Identity") - } - server.Identity = &identity - } else { - server.Identity = nil - } - - // Location - server.Location = genruntime.ClonePointerToString(source.Location) - - // MaintenanceWindow - if source.MaintenanceWindow != nil { - var maintenanceWindow MaintenanceWindow - err := maintenanceWindow.Initialize_From_MaintenanceWindow_STATUS(source.MaintenanceWindow) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_MaintenanceWindow_STATUS() to populate field MaintenanceWindow") - } - server.MaintenanceWindow = &maintenanceWindow - } else { - server.MaintenanceWindow = nil - } - - // Network - if source.Network != nil { - var network Network - err := network.Initialize_From_Network_STATUS(source.Network) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_Network_STATUS() to populate field Network") - } - server.Network = &network - } else { - server.Network = nil - } - - // ReplicationRole - if source.ReplicationRole != nil { - replicationRole := ReplicationRole(*source.ReplicationRole) - server.ReplicationRole = &replicationRole - } else { - server.ReplicationRole = nil - } - - // RestorePointInTime - server.RestorePointInTime = genruntime.ClonePointerToString(source.RestorePointInTime) - - // Sku - if source.Sku != nil { - var sku Sku - err := sku.Initialize_From_Sku_STATUS(source.Sku) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_Sku_STATUS() to populate field Sku") - } - server.Sku = &sku - } else { - server.Sku = nil - } - - // SourceServerResourceId - server.SourceServerResourceId = genruntime.ClonePointerToString(source.SourceServerResourceId) - - // Storage - if source.Storage != nil { - var storage Storage - err := storage.Initialize_From_Storage_STATUS(source.Storage) - if err != nil { - return errors.Wrap(err, "calling Initialize_From_Storage_STATUS() to populate field Storage") - } - server.Storage = &storage - } else { - server.Storage = nil - } - - // Tags - server.Tags = genruntime.CloneMapOfStringToString(source.Tags) - - // Version - if source.Version != nil { - version := ServerVersion(*source.Version) - server.Version = &version - } else { - server.Version = nil - } - - // No error - return nil -} - // OriginalVersion returns the original API version used to create the resource. func (server *FlexibleServer_Spec) OriginalVersion() string { return GroupVersion.Version @@ -2224,24 +2127,6 @@ func (backup *Backup) AssignProperties_To_Backup(destination *v20210501s.Backup) return nil } -// Initialize_From_Backup_STATUS populates our Backup from the provided source Backup_STATUS -func (backup *Backup) Initialize_From_Backup_STATUS(source *Backup_STATUS) error { - - // BackupRetentionDays - backup.BackupRetentionDays = genruntime.ClonePointerToInt(source.BackupRetentionDays) - - // GeoRedundantBackup - if source.GeoRedundantBackup != nil { - geoRedundantBackup := EnableStatusEnum(*source.GeoRedundantBackup) - backup.GeoRedundantBackup = &geoRedundantBackup - } else { - backup.GeoRedundantBackup = nil - } - - // No error - return nil -} - // Storage Profile properties of a server type Backup_STATUS struct { // BackupRetentionDays: Backup retention days for the server. @@ -2532,43 +2417,6 @@ func (encryption *DataEncryption) AssignProperties_To_DataEncryption(destination return nil } -// Initialize_From_DataEncryption_STATUS populates our DataEncryption from the provided source DataEncryption_STATUS -func (encryption *DataEncryption) Initialize_From_DataEncryption_STATUS(source *DataEncryption_STATUS) error { - - // GeoBackupKeyURI - encryption.GeoBackupKeyURI = genruntime.ClonePointerToString(source.GeoBackupKeyURI) - - // GeoBackupUserAssignedIdentityReference - if source.GeoBackupUserAssignedIdentityId != nil { - geoBackupUserAssignedIdentityReference := genruntime.CreateResourceReferenceFromARMID(*source.GeoBackupUserAssignedIdentityId) - encryption.GeoBackupUserAssignedIdentityReference = &geoBackupUserAssignedIdentityReference - } else { - encryption.GeoBackupUserAssignedIdentityReference = nil - } - - // PrimaryKeyURI - encryption.PrimaryKeyURI = genruntime.ClonePointerToString(source.PrimaryKeyURI) - - // PrimaryUserAssignedIdentityReference - if source.PrimaryUserAssignedIdentityId != nil { - primaryUserAssignedIdentityReference := genruntime.CreateResourceReferenceFromARMID(*source.PrimaryUserAssignedIdentityId) - encryption.PrimaryUserAssignedIdentityReference = &primaryUserAssignedIdentityReference - } else { - encryption.PrimaryUserAssignedIdentityReference = nil - } - - // Type - if source.Type != nil { - typeVar := DataEncryption_Type(*source.Type) - encryption.Type = &typeVar - } else { - encryption.Type = nil - } - - // No error - return nil -} - // The date encryption for cmk. type DataEncryption_STATUS struct { // GeoBackupKeyURI: Geo backup key uri as key vault can't cross region, need cmk in same region as geo backup @@ -2702,6 +2550,9 @@ func (encryption *DataEncryption_STATUS) AssignProperties_To_DataEncryption_STAT // Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure type FlexibleServerOperatorSpec struct { + // ConfigMaps: configures where to place operator written ConfigMaps. + ConfigMaps *FlexibleServerOperatorConfigMaps `json:"configMaps,omitempty"` + // Secrets: configures where to place Azure generated secrets. Secrets *FlexibleServerOperatorSecrets `json:"secrets,omitempty"` } @@ -2709,6 +2560,18 @@ type FlexibleServerOperatorSpec struct { // AssignProperties_From_FlexibleServerOperatorSpec populates our FlexibleServerOperatorSpec from the provided source FlexibleServerOperatorSpec func (operator *FlexibleServerOperatorSpec) AssignProperties_From_FlexibleServerOperatorSpec(source *v20210501s.FlexibleServerOperatorSpec) error { + // ConfigMaps + if source.ConfigMaps != nil { + var configMap FlexibleServerOperatorConfigMaps + err := configMap.AssignProperties_From_FlexibleServerOperatorConfigMaps(source.ConfigMaps) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServerOperatorConfigMaps() to populate field ConfigMaps") + } + operator.ConfigMaps = &configMap + } else { + operator.ConfigMaps = nil + } + // Secrets if source.Secrets != nil { var secret FlexibleServerOperatorSecrets @@ -2730,6 +2593,18 @@ func (operator *FlexibleServerOperatorSpec) AssignProperties_To_FlexibleServerOp // Create a new property bag propertyBag := genruntime.NewPropertyBag() + // ConfigMaps + if operator.ConfigMaps != nil { + var configMap v20210501s.FlexibleServerOperatorConfigMaps + err := operator.ConfigMaps.AssignProperties_To_FlexibleServerOperatorConfigMaps(&configMap) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServerOperatorConfigMaps() to populate field ConfigMaps") + } + destination.ConfigMaps = &configMap + } else { + destination.ConfigMaps = nil + } + // Secrets if operator.Secrets != nil { var secret v20210501s.FlexibleServerOperatorSecrets @@ -2859,24 +2734,6 @@ func (availability *HighAvailability) AssignProperties_To_HighAvailability(desti return nil } -// Initialize_From_HighAvailability_STATUS populates our HighAvailability from the provided source HighAvailability_STATUS -func (availability *HighAvailability) Initialize_From_HighAvailability_STATUS(source *HighAvailability_STATUS) error { - - // Mode - if source.Mode != nil { - mode := HighAvailability_Mode(*source.Mode) - availability.Mode = &mode - } else { - availability.Mode = nil - } - - // StandbyAvailabilityZone - availability.StandbyAvailabilityZone = genruntime.ClonePointerToString(source.StandbyAvailabilityZone) - - // No error - return nil -} - // Network related properties of a server type HighAvailability_STATUS struct { // Mode: High availability mode for a server. @@ -3125,33 +2982,6 @@ func (identity *Identity) AssignProperties_To_Identity(destination *v20210501s.I return nil } -// Initialize_From_Identity_STATUS populates our Identity from the provided source Identity_STATUS -func (identity *Identity) Initialize_From_Identity_STATUS(source *Identity_STATUS) error { - - // Type - if source.Type != nil { - typeVar := Identity_Type(*source.Type) - identity.Type = &typeVar - } else { - identity.Type = nil - } - - // UserAssignedIdentities - if source.UserAssignedIdentities != nil { - userAssignedIdentityList := make([]UserAssignedIdentityDetails, 0, len(source.UserAssignedIdentities)) - for userAssignedIdentitiesKey := range source.UserAssignedIdentities { - userAssignedIdentitiesRef := genruntime.CreateResourceReferenceFromARMID(userAssignedIdentitiesKey) - userAssignedIdentityList = append(userAssignedIdentityList, UserAssignedIdentityDetails{Reference: userAssignedIdentitiesRef}) - } - identity.UserAssignedIdentities = userAssignedIdentityList - } else { - identity.UserAssignedIdentities = nil - } - - // No error - return nil -} - // Properties to configure Identity for Bring your Own Keys type Identity_STATUS struct { // PrincipalId: ObjectId from the KeyVault @@ -3426,25 +3256,6 @@ func (window *MaintenanceWindow) AssignProperties_To_MaintenanceWindow(destinati return nil } -// Initialize_From_MaintenanceWindow_STATUS populates our MaintenanceWindow from the provided source MaintenanceWindow_STATUS -func (window *MaintenanceWindow) Initialize_From_MaintenanceWindow_STATUS(source *MaintenanceWindow_STATUS) error { - - // CustomWindow - window.CustomWindow = genruntime.ClonePointerToString(source.CustomWindow) - - // DayOfWeek - window.DayOfWeek = genruntime.ClonePointerToInt(source.DayOfWeek) - - // StartHour - window.StartHour = genruntime.ClonePointerToInt(source.StartHour) - - // StartMinute - window.StartMinute = genruntime.ClonePointerToInt(source.StartMinute) - - // No error - return nil -} - // Maintenance window of a server. type MaintenanceWindow_STATUS struct { // CustomWindow: indicates whether custom window is enabled or disabled @@ -3664,29 +3475,6 @@ func (network *Network) AssignProperties_To_Network(destination *v20210501s.Netw return nil } -// Initialize_From_Network_STATUS populates our Network from the provided source Network_STATUS -func (network *Network) Initialize_From_Network_STATUS(source *Network_STATUS) error { - - // DelegatedSubnetResourceReference - if source.DelegatedSubnetResourceId != nil { - delegatedSubnetResourceReference := genruntime.CreateResourceReferenceFromARMID(*source.DelegatedSubnetResourceId) - network.DelegatedSubnetResourceReference = &delegatedSubnetResourceReference - } else { - network.DelegatedSubnetResourceReference = nil - } - - // PrivateDnsZoneResourceReference - if source.PrivateDnsZoneResourceId != nil { - privateDnsZoneResourceReference := genruntime.CreateResourceReferenceFromARMID(*source.PrivateDnsZoneResourceId) - network.PrivateDnsZoneResourceReference = &privateDnsZoneResourceReference - } else { - network.PrivateDnsZoneResourceReference = nil - } - - // No error - return nil -} - // Network related properties of a server type Network_STATUS struct { // DelegatedSubnetResourceId: Delegated subnet resource id used to setup vnet for a server. @@ -4016,24 +3804,6 @@ func (sku *Sku) AssignProperties_To_Sku(destination *v20210501s.Sku) error { return nil } -// Initialize_From_Sku_STATUS populates our Sku from the provided source Sku_STATUS -func (sku *Sku) Initialize_From_Sku_STATUS(source *Sku_STATUS) error { - - // Name - sku.Name = genruntime.ClonePointerToString(source.Name) - - // Tier - if source.Tier != nil { - tier := Sku_Tier(*source.Tier) - sku.Tier = &tier - } else { - sku.Tier = nil - } - - // No error - return nil -} - // Billing information related properties of a server. type Sku_STATUS struct { // Name: The name of the sku, e.g. Standard_D32s_v3. @@ -4246,27 +4016,6 @@ func (storage *Storage) AssignProperties_To_Storage(destination *v20210501s.Stor return nil } -// Initialize_From_Storage_STATUS populates our Storage from the provided source Storage_STATUS -func (storage *Storage) Initialize_From_Storage_STATUS(source *Storage_STATUS) error { - - // AutoGrow - if source.AutoGrow != nil { - autoGrow := EnableStatusEnum(*source.AutoGrow) - storage.AutoGrow = &autoGrow - } else { - storage.AutoGrow = nil - } - - // Iops - storage.Iops = genruntime.ClonePointerToInt(source.Iops) - - // StorageSizeGB - storage.StorageSizeGB = genruntime.ClonePointerToInt(source.StorageSizeGB) - - // No error - return nil -} - // Storage Profile properties of a server type Storage_STATUS struct { // AutoGrow: Enable Storage Auto Grow or not. @@ -4594,6 +4343,71 @@ var enableStatusEnum_STATUS_Values = map[string]EnableStatusEnum_STATUS{ "enabled": EnableStatusEnum_STATUS_Enabled, } +type FlexibleServerOperatorConfigMaps struct { + // AdministratorLogin: indicates where the AdministratorLogin config map should be placed. If omitted, no config map will + // be created. + AdministratorLogin *genruntime.ConfigMapDestination `json:"administratorLogin,omitempty"` + + // FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + // config map will be created. + FullyQualifiedDomainName *genruntime.ConfigMapDestination `json:"fullyQualifiedDomainName,omitempty"` +} + +// AssignProperties_From_FlexibleServerOperatorConfigMaps populates our FlexibleServerOperatorConfigMaps from the provided source FlexibleServerOperatorConfigMaps +func (maps *FlexibleServerOperatorConfigMaps) AssignProperties_From_FlexibleServerOperatorConfigMaps(source *v20210501s.FlexibleServerOperatorConfigMaps) error { + + // AdministratorLogin + if source.AdministratorLogin != nil { + administratorLogin := source.AdministratorLogin.Copy() + maps.AdministratorLogin = &administratorLogin + } else { + maps.AdministratorLogin = nil + } + + // FullyQualifiedDomainName + if source.FullyQualifiedDomainName != nil { + fullyQualifiedDomainName := source.FullyQualifiedDomainName.Copy() + maps.FullyQualifiedDomainName = &fullyQualifiedDomainName + } else { + maps.FullyQualifiedDomainName = nil + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServerOperatorConfigMaps populates the provided destination FlexibleServerOperatorConfigMaps from our FlexibleServerOperatorConfigMaps +func (maps *FlexibleServerOperatorConfigMaps) AssignProperties_To_FlexibleServerOperatorConfigMaps(destination *v20210501s.FlexibleServerOperatorConfigMaps) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdministratorLogin + if maps.AdministratorLogin != nil { + administratorLogin := maps.AdministratorLogin.Copy() + destination.AdministratorLogin = &administratorLogin + } else { + destination.AdministratorLogin = nil + } + + // FullyQualifiedDomainName + if maps.FullyQualifiedDomainName != nil { + fullyQualifiedDomainName := maps.FullyQualifiedDomainName.Copy() + destination.FullyQualifiedDomainName = &fullyQualifiedDomainName + } else { + destination.FullyQualifiedDomainName = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + type FlexibleServerOperatorSecrets struct { // FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret // will not be retrieved from Azure. diff --git a/v2/api/dbformysql/v1api20210501/flexible_server_types_gen_test.go b/v2/api/dbformysql/v1api20210501/flexible_server_types_gen_test.go index a5ef3ed4a0f..dc855f656db 100644 --- a/v2/api/dbformysql/v1api20210501/flexible_server_types_gen_test.go +++ b/v2/api/dbformysql/v1api20210501/flexible_server_types_gen_test.go @@ -6,6 +6,7 @@ package v1api20210501 import ( "encoding/json" v20210501s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501/storage" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -36,7 +37,7 @@ func RunResourceConversionTestForFlexibleServer(subject FlexibleServer) string { copied := subject.DeepCopy() // Convert to our hub version - var hub v20210501s.FlexibleServer + var hub v20230630s.FlexibleServer err := copied.ConvertTo(&hub) if err != nil { return err.Error() @@ -970,6 +971,7 @@ func FlexibleServerOperatorSpecGenerator() gopter.Gen { // AddRelatedPropertyGeneratorsForFlexibleServerOperatorSpec is a factory method for creating gopter generators func AddRelatedPropertyGeneratorsForFlexibleServerOperatorSpec(gens map[string]gopter.Gen) { + gens["ConfigMaps"] = gen.PtrOf(FlexibleServerOperatorConfigMapsGenerator()) gens["Secrets"] = gen.PtrOf(FlexibleServerOperatorSecretsGenerator()) } @@ -2347,6 +2349,103 @@ func AddIndependentPropertyGeneratorsForSystemData_STATUS(gens map[string]gopter SystemData_LastModifiedByType_STATUS_User)) } +func Test_FlexibleServerOperatorConfigMaps_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServerOperatorConfigMaps to FlexibleServerOperatorConfigMaps via AssignProperties_To_FlexibleServerOperatorConfigMaps & AssignProperties_From_FlexibleServerOperatorConfigMaps returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServerOperatorConfigMaps, FlexibleServerOperatorConfigMapsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServerOperatorConfigMaps tests if a specific instance of FlexibleServerOperatorConfigMaps can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServerOperatorConfigMaps(subject FlexibleServerOperatorConfigMaps) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20210501s.FlexibleServerOperatorConfigMaps + err := copied.AssignProperties_To_FlexibleServerOperatorConfigMaps(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServerOperatorConfigMaps + err = actual.AssignProperties_From_FlexibleServerOperatorConfigMaps(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServerOperatorConfigMaps_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServerOperatorConfigMaps via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServerOperatorConfigMaps, FlexibleServerOperatorConfigMapsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServerOperatorConfigMaps runs a test to see if a specific instance of FlexibleServerOperatorConfigMaps round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServerOperatorConfigMaps(subject FlexibleServerOperatorConfigMaps) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServerOperatorConfigMaps + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServerOperatorConfigMaps instances for property testing - lazily instantiated by +// FlexibleServerOperatorConfigMapsGenerator() +var flexibleServerOperatorConfigMapsGenerator gopter.Gen + +// FlexibleServerOperatorConfigMapsGenerator returns a generator of FlexibleServerOperatorConfigMaps instances for property testing. +func FlexibleServerOperatorConfigMapsGenerator() gopter.Gen { + if flexibleServerOperatorConfigMapsGenerator != nil { + return flexibleServerOperatorConfigMapsGenerator + } + + generators := make(map[string]gopter.Gen) + flexibleServerOperatorConfigMapsGenerator = gen.Struct(reflect.TypeOf(FlexibleServerOperatorConfigMaps{}), generators) + + return flexibleServerOperatorConfigMapsGenerator +} + func Test_FlexibleServerOperatorSecrets_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() diff --git a/v2/api/dbformysql/v1api20210501/flexible_servers_database_types_gen.go b/v2/api/dbformysql/v1api20210501/flexible_servers_database_types_gen.go index ca845f1d4c4..1ea62b5ad9c 100644 --- a/v2/api/dbformysql/v1api20210501/flexible_servers_database_types_gen.go +++ b/v2/api/dbformysql/v1api20210501/flexible_servers_database_types_gen.go @@ -49,22 +49,36 @@ var _ conversion.Convertible = &FlexibleServersDatabase{} // ConvertFrom populates our FlexibleServersDatabase from the provided hub FlexibleServersDatabase func (database *FlexibleServersDatabase) ConvertFrom(hub conversion.Hub) error { - source, ok := hub.(*v20210501s.FlexibleServersDatabase) - if !ok { - return fmt.Errorf("expected dbformysql/v1api20210501/storage/FlexibleServersDatabase but received %T instead", hub) + // intermediate variable for conversion + var source v20210501s.FlexibleServersDatabase + + err := source.ConvertFrom(hub) + if err != nil { + return errors.Wrap(err, "converting from hub to source") } - return database.AssignProperties_From_FlexibleServersDatabase(source) + err = database.AssignProperties_From_FlexibleServersDatabase(&source) + if err != nil { + return errors.Wrap(err, "converting from source to database") + } + + return nil } // ConvertTo populates the provided hub FlexibleServersDatabase from our FlexibleServersDatabase func (database *FlexibleServersDatabase) ConvertTo(hub conversion.Hub) error { - destination, ok := hub.(*v20210501s.FlexibleServersDatabase) - if !ok { - return fmt.Errorf("expected dbformysql/v1api20210501/storage/FlexibleServersDatabase but received %T instead", hub) + // intermediate variable for conversion + var destination v20210501s.FlexibleServersDatabase + err := database.AssignProperties_To_FlexibleServersDatabase(&destination) + if err != nil { + return errors.Wrap(err, "converting to destination from database") + } + err = destination.ConvertTo(hub) + if err != nil { + return errors.Wrap(err, "converting from destination to hub") } - return database.AssignProperties_To_FlexibleServersDatabase(destination) + return nil } // +kubebuilder:webhook:path=/mutate-dbformysql-azure-com-v1api20210501-flexibleserversdatabase,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=dbformysql.azure.com,resources=flexibleserversdatabases,verbs=create;update,versions=v1api20210501,name=default.v1api20210501.flexibleserversdatabases.dbformysql.azure.com,admissionReviewVersions=v1 @@ -90,17 +104,6 @@ func (database *FlexibleServersDatabase) defaultAzureName() { // defaultImpl applies the code generated defaults to the FlexibleServersDatabase resource func (database *FlexibleServersDatabase) defaultImpl() { database.defaultAzureName() } -var _ genruntime.ImportableResource = &FlexibleServersDatabase{} - -// InitializeSpec initializes the spec for this resource from the given status -func (database *FlexibleServersDatabase) InitializeSpec(status genruntime.ConvertibleStatus) error { - if s, ok := status.(*FlexibleServers_Database_STATUS); ok { - return database.Spec.Initialize_From_FlexibleServers_Database_STATUS(s) - } - - return fmt.Errorf("expected Status of type FlexibleServers_Database_STATUS but received %T instead", status) -} - var _ genruntime.KubernetesResource = &FlexibleServersDatabase{} // AzureName returns the Azure name of the resource @@ -522,19 +525,6 @@ func (database *FlexibleServers_Database_Spec) AssignProperties_To_FlexibleServe return nil } -// Initialize_From_FlexibleServers_Database_STATUS populates our FlexibleServers_Database_Spec from the provided source FlexibleServers_Database_STATUS -func (database *FlexibleServers_Database_Spec) Initialize_From_FlexibleServers_Database_STATUS(source *FlexibleServers_Database_STATUS) error { - - // Charset - database.Charset = genruntime.ClonePointerToString(source.Charset) - - // Collation - database.Collation = genruntime.ClonePointerToString(source.Collation) - - // No error - return nil -} - // OriginalVersion returns the original API version used to create the resource. func (database *FlexibleServers_Database_Spec) OriginalVersion() string { return GroupVersion.Version diff --git a/v2/api/dbformysql/v1api20210501/flexible_servers_database_types_gen_test.go b/v2/api/dbformysql/v1api20210501/flexible_servers_database_types_gen_test.go index ba11963a905..f68c799b537 100644 --- a/v2/api/dbformysql/v1api20210501/flexible_servers_database_types_gen_test.go +++ b/v2/api/dbformysql/v1api20210501/flexible_servers_database_types_gen_test.go @@ -6,6 +6,7 @@ package v1api20210501 import ( "encoding/json" v20210501s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501/storage" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -36,7 +37,7 @@ func RunResourceConversionTestForFlexibleServersDatabase(subject FlexibleServers copied := subject.DeepCopy() // Convert to our hub version - var hub v20210501s.FlexibleServersDatabase + var hub v20230630s.FlexibleServersDatabase err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/dbformysql/v1api20210501/flexible_servers_firewall_rule_types_gen.go b/v2/api/dbformysql/v1api20210501/flexible_servers_firewall_rule_types_gen.go index c8f7037e6b4..1fe232a95a6 100644 --- a/v2/api/dbformysql/v1api20210501/flexible_servers_firewall_rule_types_gen.go +++ b/v2/api/dbformysql/v1api20210501/flexible_servers_firewall_rule_types_gen.go @@ -49,22 +49,36 @@ var _ conversion.Convertible = &FlexibleServersFirewallRule{} // ConvertFrom populates our FlexibleServersFirewallRule from the provided hub FlexibleServersFirewallRule func (rule *FlexibleServersFirewallRule) ConvertFrom(hub conversion.Hub) error { - source, ok := hub.(*v20210501s.FlexibleServersFirewallRule) - if !ok { - return fmt.Errorf("expected dbformysql/v1api20210501/storage/FlexibleServersFirewallRule but received %T instead", hub) + // intermediate variable for conversion + var source v20210501s.FlexibleServersFirewallRule + + err := source.ConvertFrom(hub) + if err != nil { + return errors.Wrap(err, "converting from hub to source") + } + + err = rule.AssignProperties_From_FlexibleServersFirewallRule(&source) + if err != nil { + return errors.Wrap(err, "converting from source to rule") } - return rule.AssignProperties_From_FlexibleServersFirewallRule(source) + return nil } // ConvertTo populates the provided hub FlexibleServersFirewallRule from our FlexibleServersFirewallRule func (rule *FlexibleServersFirewallRule) ConvertTo(hub conversion.Hub) error { - destination, ok := hub.(*v20210501s.FlexibleServersFirewallRule) - if !ok { - return fmt.Errorf("expected dbformysql/v1api20210501/storage/FlexibleServersFirewallRule but received %T instead", hub) + // intermediate variable for conversion + var destination v20210501s.FlexibleServersFirewallRule + err := rule.AssignProperties_To_FlexibleServersFirewallRule(&destination) + if err != nil { + return errors.Wrap(err, "converting to destination from rule") + } + err = destination.ConvertTo(hub) + if err != nil { + return errors.Wrap(err, "converting from destination to hub") } - return rule.AssignProperties_To_FlexibleServersFirewallRule(destination) + return nil } // +kubebuilder:webhook:path=/mutate-dbformysql-azure-com-v1api20210501-flexibleserversfirewallrule,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=dbformysql.azure.com,resources=flexibleserversfirewallrules,verbs=create;update,versions=v1api20210501,name=default.v1api20210501.flexibleserversfirewallrules.dbformysql.azure.com,admissionReviewVersions=v1 @@ -90,17 +104,6 @@ func (rule *FlexibleServersFirewallRule) defaultAzureName() { // defaultImpl applies the code generated defaults to the FlexibleServersFirewallRule resource func (rule *FlexibleServersFirewallRule) defaultImpl() { rule.defaultAzureName() } -var _ genruntime.ImportableResource = &FlexibleServersFirewallRule{} - -// InitializeSpec initializes the spec for this resource from the given status -func (rule *FlexibleServersFirewallRule) InitializeSpec(status genruntime.ConvertibleStatus) error { - if s, ok := status.(*FlexibleServers_FirewallRule_STATUS); ok { - return rule.Spec.Initialize_From_FlexibleServers_FirewallRule_STATUS(s) - } - - return fmt.Errorf("expected Status of type FlexibleServers_FirewallRule_STATUS but received %T instead", status) -} - var _ genruntime.KubernetesResource = &FlexibleServersFirewallRule{} // AzureName returns the Azure name of the resource @@ -546,29 +549,6 @@ func (rule *FlexibleServers_FirewallRule_Spec) AssignProperties_To_FlexibleServe return nil } -// Initialize_From_FlexibleServers_FirewallRule_STATUS populates our FlexibleServers_FirewallRule_Spec from the provided source FlexibleServers_FirewallRule_STATUS -func (rule *FlexibleServers_FirewallRule_Spec) Initialize_From_FlexibleServers_FirewallRule_STATUS(source *FlexibleServers_FirewallRule_STATUS) error { - - // EndIpAddress - if source.EndIpAddress != nil { - endIpAddress := *source.EndIpAddress - rule.EndIpAddress = &endIpAddress - } else { - rule.EndIpAddress = nil - } - - // StartIpAddress - if source.StartIpAddress != nil { - startIpAddress := *source.StartIpAddress - rule.StartIpAddress = &startIpAddress - } else { - rule.StartIpAddress = nil - } - - // No error - return nil -} - // OriginalVersion returns the original API version used to create the resource. func (rule *FlexibleServers_FirewallRule_Spec) OriginalVersion() string { return GroupVersion.Version diff --git a/v2/api/dbformysql/v1api20210501/flexible_servers_firewall_rule_types_gen_test.go b/v2/api/dbformysql/v1api20210501/flexible_servers_firewall_rule_types_gen_test.go index 3a06f30446d..bbccca60029 100644 --- a/v2/api/dbformysql/v1api20210501/flexible_servers_firewall_rule_types_gen_test.go +++ b/v2/api/dbformysql/v1api20210501/flexible_servers_firewall_rule_types_gen_test.go @@ -6,6 +6,7 @@ package v1api20210501 import ( "encoding/json" v20210501s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501/storage" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -36,7 +37,7 @@ func RunResourceConversionTestForFlexibleServersFirewallRule(subject FlexibleSer copied := subject.DeepCopy() // Convert to our hub version - var hub v20210501s.FlexibleServersFirewallRule + var hub v20230630s.FlexibleServersFirewallRule err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/dbformysql/v1api20210501/storage/flexible_server_types_gen.go b/v2/api/dbformysql/v1api20210501/storage/flexible_server_types_gen.go index f535b0fbed0..a880a6c5944 100644 --- a/v2/api/dbformysql/v1api20210501/storage/flexible_server_types_gen.go +++ b/v2/api/dbformysql/v1api20210501/storage/flexible_server_types_gen.go @@ -4,21 +4,25 @@ package storage import ( + "context" + "fmt" v20220101s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20220101/storage" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" + "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/go-logr/logr" "github.com/pkg/errors" "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/conversion" ) -// +kubebuilder:rbac:groups=dbformysql.azure.com,resources=flexibleservers,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=dbformysql.azure.com,resources={flexibleservers/status,flexibleservers/finalizers},verbs=get;update;patch - // +kubebuilder:object:root=true // +kubebuilder:subresource:status -// +kubebuilder:storageversion // +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" // +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" @@ -46,6 +50,50 @@ func (server *FlexibleServer) SetConditions(conditions conditions.Conditions) { server.Status.Conditions = conditions } +var _ conversion.Convertible = &FlexibleServer{} + +// ConvertFrom populates our FlexibleServer from the provided hub FlexibleServer +func (server *FlexibleServer) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*v20230630s.FlexibleServer) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServer but received %T instead", hub) + } + + return server.AssignProperties_From_FlexibleServer(source) +} + +// ConvertTo populates the provided hub FlexibleServer from our FlexibleServer +func (server *FlexibleServer) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*v20230630s.FlexibleServer) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServer but received %T instead", hub) + } + + return server.AssignProperties_To_FlexibleServer(destination) +} + +var _ genruntime.KubernetesExporter = &FlexibleServer{} + +// ExportKubernetesResources defines a resource which can create other resources in Kubernetes. +func (server *FlexibleServer) ExportKubernetesResources(_ context.Context, _ genruntime.MetaObject, _ *genericarmclient.GenericClient, _ logr.Logger) ([]client.Object, error) { + collector := configmaps.NewCollector(server.Namespace) + if server.Spec.OperatorSpec != nil && server.Spec.OperatorSpec.ConfigMaps != nil { + if server.Status.AdministratorLogin != nil { + collector.AddValue(server.Spec.OperatorSpec.ConfigMaps.AdministratorLogin, *server.Status.AdministratorLogin) + } + } + if server.Spec.OperatorSpec != nil && server.Spec.OperatorSpec.ConfigMaps != nil { + if server.Status.FullyQualifiedDomainName != nil { + collector.AddValue(server.Spec.OperatorSpec.ConfigMaps.FullyQualifiedDomainName, *server.Status.FullyQualifiedDomainName) + } + } + result, err := collector.Values() + if err != nil { + return nil, err + } + return configmaps.SliceToClientObjectSlice(result), nil +} + var _ genruntime.KubernetesResource = &FlexibleServer{} // AzureName returns the Azure name of the resource @@ -117,8 +165,75 @@ func (server *FlexibleServer) SetStatus(status genruntime.ConvertibleStatus) err return nil } -// Hub marks that this FlexibleServer is the hub type for conversion -func (server *FlexibleServer) Hub() {} +// AssignProperties_From_FlexibleServer populates our FlexibleServer from the provided source FlexibleServer +func (server *FlexibleServer) AssignProperties_From_FlexibleServer(source *v20230630s.FlexibleServer) error { + + // ObjectMeta + server.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec FlexibleServer_Spec + err := spec.AssignProperties_From_FlexibleServer_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServer_Spec() to populate field Spec") + } + server.Spec = spec + + // Status + var status FlexibleServer_STATUS + err = status.AssignProperties_From_FlexibleServer_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServer_STATUS() to populate field Status") + } + server.Status = status + + // Invoke the augmentConversionForFlexibleServer interface (if implemented) to customize the conversion + var serverAsAny any = server + if augmentedServer, ok := serverAsAny.(augmentConversionForFlexibleServer); ok { + err := augmentedServer.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServer populates the provided destination FlexibleServer from our FlexibleServer +func (server *FlexibleServer) AssignProperties_To_FlexibleServer(destination *v20230630s.FlexibleServer) error { + + // ObjectMeta + destination.ObjectMeta = *server.ObjectMeta.DeepCopy() + + // Spec + var spec v20230630s.FlexibleServer_Spec + err := server.Spec.AssignProperties_To_FlexibleServer_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServer_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status v20230630s.FlexibleServer_STATUS + err = server.Status.AssignProperties_To_FlexibleServer_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServer_STATUS() to populate field Status") + } + destination.Status = status + + // Invoke the augmentConversionForFlexibleServer interface (if implemented) to customize the conversion + var serverAsAny any = server + if augmentedServer, ok := serverAsAny.(augmentConversionForFlexibleServer); ok { + err := augmentedServer.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} // OriginalGVK returns a GroupValueKind for the original API version used to create the resource func (server *FlexibleServer) OriginalGVK() *schema.GroupVersionKind { @@ -146,6 +261,11 @@ type APIVersion string const APIVersion_Value = APIVersion("2021-05-01") +type augmentConversionForFlexibleServer interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServer) error + AssignPropertiesTo(dst *v20230630s.FlexibleServer) error +} + // Storage version of v1api20210501.FlexibleServer_Spec type FlexibleServer_Spec struct { AdministratorLogin *string `json:"administratorLogin,omitempty"` @@ -185,20 +305,468 @@ var _ genruntime.ConvertibleSpec = &FlexibleServer_Spec{} // ConvertSpecFrom populates our FlexibleServer_Spec from the provided source func (server *FlexibleServer_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { - if source == server { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + src, ok := source.(*v20230630s.FlexibleServer_Spec) + if ok { + // Populate our instance from source + return server.AssignProperties_From_FlexibleServer_Spec(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServer_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = server.AssignProperties_From_FlexibleServer_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") } - return source.ConvertSpecTo(server) + return nil } // ConvertSpecTo populates the provided destination from our FlexibleServer_Spec func (server *FlexibleServer_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { - if destination == server { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + dst, ok := destination.(*v20230630s.FlexibleServer_Spec) + if ok { + // Populate destination from our instance + return server.AssignProperties_To_FlexibleServer_Spec(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServer_Spec{} + err := server.AssignProperties_To_FlexibleServer_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_FlexibleServer_Spec populates our FlexibleServer_Spec from the provided source FlexibleServer_Spec +func (server *FlexibleServer_Spec) AssignProperties_From_FlexibleServer_Spec(source *v20230630s.FlexibleServer_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AdministratorLogin + server.AdministratorLogin = genruntime.ClonePointerToString(source.AdministratorLogin) + + // AdministratorLoginPassword + if source.AdministratorLoginPassword != nil { + administratorLoginPassword := source.AdministratorLoginPassword.Copy() + server.AdministratorLoginPassword = &administratorLoginPassword + } else { + server.AdministratorLoginPassword = nil + } + + // AvailabilityZone + server.AvailabilityZone = genruntime.ClonePointerToString(source.AvailabilityZone) + + // AzureName + server.AzureName = source.AzureName + + // Backup + if source.Backup != nil { + var backup Backup + err := backup.AssignProperties_From_Backup(source.Backup) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_Backup() to populate field Backup") + } + server.Backup = &backup + } else { + server.Backup = nil + } + + // CreateMode + server.CreateMode = genruntime.ClonePointerToString(source.CreateMode) + + // DataEncryption + if source.DataEncryption != nil { + var dataEncryption DataEncryption + err := dataEncryption.AssignProperties_From_DataEncryption(source.DataEncryption) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_DataEncryption() to populate field DataEncryption") + } + server.DataEncryption = &dataEncryption + } else { + server.DataEncryption = nil + } + + // HighAvailability + if source.HighAvailability != nil { + var highAvailability HighAvailability + err := highAvailability.AssignProperties_From_HighAvailability(source.HighAvailability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_HighAvailability() to populate field HighAvailability") + } + server.HighAvailability = &highAvailability + } else { + server.HighAvailability = nil + } + + // Identity + if source.Identity != nil { + var identity Identity + err := identity.AssignProperties_From_MySQLServerIdentity(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MySQLServerIdentity() to populate field Identity") + } + server.Identity = &identity + } else { + server.Identity = nil + } + + // ImportSourceProperties + if source.ImportSourceProperties != nil { + propertyBag.Add("ImportSourceProperties", *source.ImportSourceProperties) + } else { + propertyBag.Remove("ImportSourceProperties") + } + + // Location + server.Location = genruntime.ClonePointerToString(source.Location) + + // MaintenanceWindow + if source.MaintenanceWindow != nil { + var maintenanceWindow MaintenanceWindow + err := maintenanceWindow.AssignProperties_From_MaintenanceWindow(source.MaintenanceWindow) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MaintenanceWindow() to populate field MaintenanceWindow") + } + server.MaintenanceWindow = &maintenanceWindow + } else { + server.MaintenanceWindow = nil + } + + // Network + if source.Network != nil { + var network Network + err := network.AssignProperties_From_Network(source.Network) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_Network() to populate field Network") + } + server.Network = &network + } else { + server.Network = nil + } + + // OperatorSpec + if source.OperatorSpec != nil { + var operatorSpec FlexibleServerOperatorSpec + err := operatorSpec.AssignProperties_From_FlexibleServerOperatorSpec(source.OperatorSpec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServerOperatorSpec() to populate field OperatorSpec") + } + server.OperatorSpec = &operatorSpec + } else { + server.OperatorSpec = nil + } + + // OriginalVersion + server.OriginalVersion = source.OriginalVersion + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + server.Owner = &owner + } else { + server.Owner = nil + } + + // ReplicationRole + server.ReplicationRole = genruntime.ClonePointerToString(source.ReplicationRole) + + // RestorePointInTime + server.RestorePointInTime = genruntime.ClonePointerToString(source.RestorePointInTime) + + // Sku + if source.Sku != nil { + var sku Sku + err := sku.AssignProperties_From_MySQLServerSku(source.Sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MySQLServerSku() to populate field Sku") + } + server.Sku = &sku + } else { + server.Sku = nil + } + + // SourceServerResourceId + if propertyBag.Contains("SourceServerResourceId") { + var sourceServerResourceId string + err := propertyBag.Pull("SourceServerResourceId", &sourceServerResourceId) + if err != nil { + return errors.Wrap(err, "pulling 'SourceServerResourceId' from propertyBag") + } + + server.SourceServerResourceId = &sourceServerResourceId + } else { + server.SourceServerResourceId = nil + } + + // SourceServerResourceReference + if source.SourceServerResourceReference != nil { + propertyBag.Add("SourceServerResourceReference", *source.SourceServerResourceReference) + } else { + propertyBag.Remove("SourceServerResourceReference") + } + + // Storage + if source.Storage != nil { + var storage Storage + err := storage.AssignProperties_From_Storage(source.Storage) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_Storage() to populate field Storage") + } + server.Storage = &storage + } else { + server.Storage = nil + } + + // Tags + server.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Version + server.Version = genruntime.ClonePointerToString(source.Version) + + // Update the property bag + if len(propertyBag) > 0 { + server.PropertyBag = propertyBag + } else { + server.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServer_Spec interface (if implemented) to customize the conversion + var serverAsAny any = server + if augmentedServer, ok := serverAsAny.(augmentConversionForFlexibleServer_Spec); ok { + err := augmentedServer.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServer_Spec populates the provided destination FlexibleServer_Spec from our FlexibleServer_Spec +func (server *FlexibleServer_Spec) AssignProperties_To_FlexibleServer_Spec(destination *v20230630s.FlexibleServer_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(server.PropertyBag) + + // AdministratorLogin + destination.AdministratorLogin = genruntime.ClonePointerToString(server.AdministratorLogin) + + // AdministratorLoginPassword + if server.AdministratorLoginPassword != nil { + administratorLoginPassword := server.AdministratorLoginPassword.Copy() + destination.AdministratorLoginPassword = &administratorLoginPassword + } else { + destination.AdministratorLoginPassword = nil + } + + // AvailabilityZone + destination.AvailabilityZone = genruntime.ClonePointerToString(server.AvailabilityZone) + + // AzureName + destination.AzureName = server.AzureName + + // Backup + if server.Backup != nil { + var backup v20230630s.Backup + err := server.Backup.AssignProperties_To_Backup(&backup) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_Backup() to populate field Backup") + } + destination.Backup = &backup + } else { + destination.Backup = nil + } + + // CreateMode + destination.CreateMode = genruntime.ClonePointerToString(server.CreateMode) + + // DataEncryption + if server.DataEncryption != nil { + var dataEncryption v20230630s.DataEncryption + err := server.DataEncryption.AssignProperties_To_DataEncryption(&dataEncryption) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_DataEncryption() to populate field DataEncryption") + } + destination.DataEncryption = &dataEncryption + } else { + destination.DataEncryption = nil + } + + // HighAvailability + if server.HighAvailability != nil { + var highAvailability v20230630s.HighAvailability + err := server.HighAvailability.AssignProperties_To_HighAvailability(&highAvailability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_HighAvailability() to populate field HighAvailability") + } + destination.HighAvailability = &highAvailability + } else { + destination.HighAvailability = nil + } + + // Identity + if server.Identity != nil { + var identity v20230630s.MySQLServerIdentity + err := server.Identity.AssignProperties_To_MySQLServerIdentity(&identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MySQLServerIdentity() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // ImportSourceProperties + if propertyBag.Contains("ImportSourceProperties") { + var importSourceProperty v20230630s.ImportSourceProperties + err := propertyBag.Pull("ImportSourceProperties", &importSourceProperty) + if err != nil { + return errors.Wrap(err, "pulling 'ImportSourceProperties' from propertyBag") + } + + destination.ImportSourceProperties = &importSourceProperty + } else { + destination.ImportSourceProperties = nil + } + + // Location + destination.Location = genruntime.ClonePointerToString(server.Location) + + // MaintenanceWindow + if server.MaintenanceWindow != nil { + var maintenanceWindow v20230630s.MaintenanceWindow + err := server.MaintenanceWindow.AssignProperties_To_MaintenanceWindow(&maintenanceWindow) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MaintenanceWindow() to populate field MaintenanceWindow") + } + destination.MaintenanceWindow = &maintenanceWindow + } else { + destination.MaintenanceWindow = nil + } + + // Network + if server.Network != nil { + var network v20230630s.Network + err := server.Network.AssignProperties_To_Network(&network) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_Network() to populate field Network") + } + destination.Network = &network + } else { + destination.Network = nil + } + + // OperatorSpec + if server.OperatorSpec != nil { + var operatorSpec v20230630s.FlexibleServerOperatorSpec + err := server.OperatorSpec.AssignProperties_To_FlexibleServerOperatorSpec(&operatorSpec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServerOperatorSpec() to populate field OperatorSpec") + } + destination.OperatorSpec = &operatorSpec + } else { + destination.OperatorSpec = nil + } + + // OriginalVersion + destination.OriginalVersion = server.OriginalVersion + + // Owner + if server.Owner != nil { + owner := server.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // ReplicationRole + destination.ReplicationRole = genruntime.ClonePointerToString(server.ReplicationRole) + + // RestorePointInTime + destination.RestorePointInTime = genruntime.ClonePointerToString(server.RestorePointInTime) + + // Sku + if server.Sku != nil { + var sku v20230630s.MySQLServerSku + err := server.Sku.AssignProperties_To_MySQLServerSku(&sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MySQLServerSku() to populate field Sku") + } + destination.Sku = &sku + } else { + destination.Sku = nil + } + + // SourceServerResourceId + if server.SourceServerResourceId != nil { + propertyBag.Add("SourceServerResourceId", *server.SourceServerResourceId) + } else { + propertyBag.Remove("SourceServerResourceId") + } + + // SourceServerResourceReference + if propertyBag.Contains("SourceServerResourceReference") { + var sourceServerResourceReference genruntime.ResourceReference + err := propertyBag.Pull("SourceServerResourceReference", &sourceServerResourceReference) + if err != nil { + return errors.Wrap(err, "pulling 'SourceServerResourceReference' from propertyBag") + } + + destination.SourceServerResourceReference = &sourceServerResourceReference + } else { + destination.SourceServerResourceReference = nil + } + + // Storage + if server.Storage != nil { + var storage v20230630s.Storage + err := server.Storage.AssignProperties_To_Storage(&storage) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_Storage() to populate field Storage") + } + destination.Storage = &storage + } else { + destination.Storage = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(server.Tags) + + // Version + destination.Version = genruntime.ClonePointerToString(server.Version) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServer_Spec interface (if implemented) to customize the conversion + var serverAsAny any = server + if augmentedServer, ok := serverAsAny.(augmentConversionForFlexibleServer_Spec); ok { + err := augmentedServer.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } } - return destination.ConvertSpecFrom(server) + // No error + return nil } // Storage version of v1api20210501.FlexibleServer_STATUS @@ -235,20 +803,472 @@ var _ genruntime.ConvertibleStatus = &FlexibleServer_STATUS{} // ConvertStatusFrom populates our FlexibleServer_STATUS from the provided source func (server *FlexibleServer_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { - if source == server { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + src, ok := source.(*v20230630s.FlexibleServer_STATUS) + if ok { + // Populate our instance from source + return server.AssignProperties_From_FlexibleServer_STATUS(src) } - return source.ConvertStatusTo(server) -} + // Convert to an intermediate form + src = &v20230630s.FlexibleServer_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } -// ConvertStatusTo populates the provided destination from our FlexibleServer_STATUS + // Update our instance from src + err = server.AssignProperties_From_FlexibleServer_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our FlexibleServer_STATUS func (server *FlexibleServer_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { - if destination == server { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + dst, ok := destination.(*v20230630s.FlexibleServer_STATUS) + if ok { + // Populate destination from our instance + return server.AssignProperties_To_FlexibleServer_STATUS(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServer_STATUS{} + err := server.AssignProperties_To_FlexibleServer_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +// AssignProperties_From_FlexibleServer_STATUS populates our FlexibleServer_STATUS from the provided source FlexibleServer_STATUS +func (server *FlexibleServer_STATUS) AssignProperties_From_FlexibleServer_STATUS(source *v20230630s.FlexibleServer_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AdministratorLogin + server.AdministratorLogin = genruntime.ClonePointerToString(source.AdministratorLogin) + + // AvailabilityZone + server.AvailabilityZone = genruntime.ClonePointerToString(source.AvailabilityZone) + + // Backup + if source.Backup != nil { + var backup Backup_STATUS + err := backup.AssignProperties_From_Backup_STATUS(source.Backup) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_Backup_STATUS() to populate field Backup") + } + server.Backup = &backup + } else { + server.Backup = nil + } + + // Conditions + server.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // CreateMode + server.CreateMode = genruntime.ClonePointerToString(source.CreateMode) + + // DataEncryption + if source.DataEncryption != nil { + var dataEncryption DataEncryption_STATUS + err := dataEncryption.AssignProperties_From_DataEncryption_STATUS(source.DataEncryption) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_DataEncryption_STATUS() to populate field DataEncryption") + } + server.DataEncryption = &dataEncryption + } else { + server.DataEncryption = nil + } + + // FullyQualifiedDomainName + server.FullyQualifiedDomainName = genruntime.ClonePointerToString(source.FullyQualifiedDomainName) + + // HighAvailability + if source.HighAvailability != nil { + var highAvailability HighAvailability_STATUS + err := highAvailability.AssignProperties_From_HighAvailability_STATUS(source.HighAvailability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_HighAvailability_STATUS() to populate field HighAvailability") + } + server.HighAvailability = &highAvailability + } else { + server.HighAvailability = nil + } + + // Id + server.Id = genruntime.ClonePointerToString(source.Id) + + // Identity + if source.Identity != nil { + var identity Identity_STATUS + err := identity.AssignProperties_From_MySQLServerIdentity_STATUS(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MySQLServerIdentity_STATUS() to populate field Identity") + } + server.Identity = &identity + } else { + server.Identity = nil + } + + // ImportSourceProperties + if source.ImportSourceProperties != nil { + propertyBag.Add("ImportSourceProperties", *source.ImportSourceProperties) + } else { + propertyBag.Remove("ImportSourceProperties") + } + + // Location + server.Location = genruntime.ClonePointerToString(source.Location) + + // MaintenanceWindow + if source.MaintenanceWindow != nil { + var maintenanceWindow MaintenanceWindow_STATUS + err := maintenanceWindow.AssignProperties_From_MaintenanceWindow_STATUS(source.MaintenanceWindow) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MaintenanceWindow_STATUS() to populate field MaintenanceWindow") + } + server.MaintenanceWindow = &maintenanceWindow + } else { + server.MaintenanceWindow = nil + } + + // Name + server.Name = genruntime.ClonePointerToString(source.Name) + + // Network + if source.Network != nil { + var network Network_STATUS + err := network.AssignProperties_From_Network_STATUS(source.Network) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_Network_STATUS() to populate field Network") + } + server.Network = &network + } else { + server.Network = nil + } + + // PrivateEndpointConnections + if len(source.PrivateEndpointConnections) > 0 { + propertyBag.Add("PrivateEndpointConnections", source.PrivateEndpointConnections) + } else { + propertyBag.Remove("PrivateEndpointConnections") + } + + // ReplicaCapacity + server.ReplicaCapacity = genruntime.ClonePointerToInt(source.ReplicaCapacity) + + // ReplicationRole + server.ReplicationRole = genruntime.ClonePointerToString(source.ReplicationRole) + + // RestorePointInTime + server.RestorePointInTime = genruntime.ClonePointerToString(source.RestorePointInTime) + + // Sku + if source.Sku != nil { + var sku Sku_STATUS + err := sku.AssignProperties_From_MySQLServerSku_STATUS(source.Sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MySQLServerSku_STATUS() to populate field Sku") + } + server.Sku = &sku + } else { + server.Sku = nil + } + + // SourceServerResourceId + server.SourceServerResourceId = genruntime.ClonePointerToString(source.SourceServerResourceId) + + // State + server.State = genruntime.ClonePointerToString(source.State) + + // Storage + if source.Storage != nil { + var storage Storage_STATUS + err := storage.AssignProperties_From_Storage_STATUS(source.Storage) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_Storage_STATUS() to populate field Storage") + } + server.Storage = &storage + } else { + server.Storage = nil + } + + // SystemData + if source.SystemData != nil { + var systemDataSTATUSStash v20220101s.SystemData_STATUS + err := systemDataSTATUSStash.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData_STATUSStash from SystemData") + } + var systemDatum SystemData_STATUS + err = systemDatum.AssignProperties_From_SystemData_STATUS(&systemDataSTATUSStash) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData from SystemData_STATUSStash") + } + server.SystemData = &systemDatum + } else { + server.SystemData = nil + } + + // Tags + server.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + server.Type = genruntime.ClonePointerToString(source.Type) + + // Version + server.Version = genruntime.ClonePointerToString(source.Version) + + // Update the property bag + if len(propertyBag) > 0 { + server.PropertyBag = propertyBag + } else { + server.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServer_STATUS interface (if implemented) to customize the conversion + var serverAsAny any = server + if augmentedServer, ok := serverAsAny.(augmentConversionForFlexibleServer_STATUS); ok { + err := augmentedServer.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServer_STATUS populates the provided destination FlexibleServer_STATUS from our FlexibleServer_STATUS +func (server *FlexibleServer_STATUS) AssignProperties_To_FlexibleServer_STATUS(destination *v20230630s.FlexibleServer_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(server.PropertyBag) + + // AdministratorLogin + destination.AdministratorLogin = genruntime.ClonePointerToString(server.AdministratorLogin) + + // AvailabilityZone + destination.AvailabilityZone = genruntime.ClonePointerToString(server.AvailabilityZone) + + // Backup + if server.Backup != nil { + var backup v20230630s.Backup_STATUS + err := server.Backup.AssignProperties_To_Backup_STATUS(&backup) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_Backup_STATUS() to populate field Backup") + } + destination.Backup = &backup + } else { + destination.Backup = nil + } + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(server.Conditions) + + // CreateMode + destination.CreateMode = genruntime.ClonePointerToString(server.CreateMode) + + // DataEncryption + if server.DataEncryption != nil { + var dataEncryption v20230630s.DataEncryption_STATUS + err := server.DataEncryption.AssignProperties_To_DataEncryption_STATUS(&dataEncryption) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_DataEncryption_STATUS() to populate field DataEncryption") + } + destination.DataEncryption = &dataEncryption + } else { + destination.DataEncryption = nil + } + + // FullyQualifiedDomainName + destination.FullyQualifiedDomainName = genruntime.ClonePointerToString(server.FullyQualifiedDomainName) + + // HighAvailability + if server.HighAvailability != nil { + var highAvailability v20230630s.HighAvailability_STATUS + err := server.HighAvailability.AssignProperties_To_HighAvailability_STATUS(&highAvailability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_HighAvailability_STATUS() to populate field HighAvailability") + } + destination.HighAvailability = &highAvailability + } else { + destination.HighAvailability = nil + } + + // Id + destination.Id = genruntime.ClonePointerToString(server.Id) + + // Identity + if server.Identity != nil { + var identity v20230630s.MySQLServerIdentity_STATUS + err := server.Identity.AssignProperties_To_MySQLServerIdentity_STATUS(&identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MySQLServerIdentity_STATUS() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // ImportSourceProperties + if propertyBag.Contains("ImportSourceProperties") { + var importSourceProperty v20230630s.ImportSourceProperties_STATUS + err := propertyBag.Pull("ImportSourceProperties", &importSourceProperty) + if err != nil { + return errors.Wrap(err, "pulling 'ImportSourceProperties' from propertyBag") + } + + destination.ImportSourceProperties = &importSourceProperty + } else { + destination.ImportSourceProperties = nil + } + + // Location + destination.Location = genruntime.ClonePointerToString(server.Location) + + // MaintenanceWindow + if server.MaintenanceWindow != nil { + var maintenanceWindow v20230630s.MaintenanceWindow_STATUS + err := server.MaintenanceWindow.AssignProperties_To_MaintenanceWindow_STATUS(&maintenanceWindow) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MaintenanceWindow_STATUS() to populate field MaintenanceWindow") + } + destination.MaintenanceWindow = &maintenanceWindow + } else { + destination.MaintenanceWindow = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(server.Name) + + // Network + if server.Network != nil { + var network v20230630s.Network_STATUS + err := server.Network.AssignProperties_To_Network_STATUS(&network) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_Network_STATUS() to populate field Network") + } + destination.Network = &network + } else { + destination.Network = nil + } + + // PrivateEndpointConnections + if propertyBag.Contains("PrivateEndpointConnections") { + var privateEndpointConnection []v20230630s.PrivateEndpointConnection_STATUS + err := propertyBag.Pull("PrivateEndpointConnections", &privateEndpointConnection) + if err != nil { + return errors.Wrap(err, "pulling 'PrivateEndpointConnections' from propertyBag") + } + + destination.PrivateEndpointConnections = privateEndpointConnection + } else { + destination.PrivateEndpointConnections = nil + } + + // ReplicaCapacity + destination.ReplicaCapacity = genruntime.ClonePointerToInt(server.ReplicaCapacity) + + // ReplicationRole + destination.ReplicationRole = genruntime.ClonePointerToString(server.ReplicationRole) + + // RestorePointInTime + destination.RestorePointInTime = genruntime.ClonePointerToString(server.RestorePointInTime) + + // Sku + if server.Sku != nil { + var sku v20230630s.MySQLServerSku_STATUS + err := server.Sku.AssignProperties_To_MySQLServerSku_STATUS(&sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MySQLServerSku_STATUS() to populate field Sku") + } + destination.Sku = &sku + } else { + destination.Sku = nil } - return destination.ConvertStatusFrom(server) + // SourceServerResourceId + destination.SourceServerResourceId = genruntime.ClonePointerToString(server.SourceServerResourceId) + + // State + destination.State = genruntime.ClonePointerToString(server.State) + + // Storage + if server.Storage != nil { + var storage v20230630s.Storage_STATUS + err := server.Storage.AssignProperties_To_Storage_STATUS(&storage) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_Storage_STATUS() to populate field Storage") + } + destination.Storage = &storage + } else { + destination.Storage = nil + } + + // SystemData + if server.SystemData != nil { + var systemDataSTATUSStash v20220101s.SystemData_STATUS + err := server.SystemData.AssignProperties_To_SystemData_STATUS(&systemDataSTATUSStash) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData_STATUSStash from SystemData") + } + var systemDatum v20230630s.SystemData_STATUS + err = systemDataSTATUSStash.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData from SystemData_STATUSStash") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(server.Tags) + + // Type + destination.Type = genruntime.ClonePointerToString(server.Type) + + // Version + destination.Version = genruntime.ClonePointerToString(server.Version) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServer_STATUS interface (if implemented) to customize the conversion + var serverAsAny any = server + if augmentedServer, ok := serverAsAny.(augmentConversionForFlexibleServer_STATUS); ok { + err := augmentedServer.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForFlexibleServer_Spec interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServer_Spec) error + AssignPropertiesTo(dst *v20230630s.FlexibleServer_Spec) error +} + +type augmentConversionForFlexibleServer_STATUS interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServer_STATUS) error + AssignPropertiesTo(dst *v20230630s.FlexibleServer_STATUS) error } // Storage version of v1api20210501.Backup @@ -259,6 +1279,68 @@ type Backup struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_Backup populates our Backup from the provided source Backup +func (backup *Backup) AssignProperties_From_Backup(source *v20230630s.Backup) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // BackupRetentionDays + backup.BackupRetentionDays = genruntime.ClonePointerToInt(source.BackupRetentionDays) + + // GeoRedundantBackup + backup.GeoRedundantBackup = genruntime.ClonePointerToString(source.GeoRedundantBackup) + + // Update the property bag + if len(propertyBag) > 0 { + backup.PropertyBag = propertyBag + } else { + backup.PropertyBag = nil + } + + // Invoke the augmentConversionForBackup interface (if implemented) to customize the conversion + var backupAsAny any = backup + if augmentedBackup, ok := backupAsAny.(augmentConversionForBackup); ok { + err := augmentedBackup.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_Backup populates the provided destination Backup from our Backup +func (backup *Backup) AssignProperties_To_Backup(destination *v20230630s.Backup) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(backup.PropertyBag) + + // BackupRetentionDays + destination.BackupRetentionDays = genruntime.ClonePointerToInt(backup.BackupRetentionDays) + + // GeoRedundantBackup + destination.GeoRedundantBackup = genruntime.ClonePointerToString(backup.GeoRedundantBackup) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForBackup interface (if implemented) to customize the conversion + var backupAsAny any = backup + if augmentedBackup, ok := backupAsAny.(augmentConversionForBackup); ok { + err := augmentedBackup.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20210501.Backup_STATUS // Storage Profile properties of a server type Backup_STATUS struct { @@ -268,6 +1350,74 @@ type Backup_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_Backup_STATUS populates our Backup_STATUS from the provided source Backup_STATUS +func (backup *Backup_STATUS) AssignProperties_From_Backup_STATUS(source *v20230630s.Backup_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // BackupRetentionDays + backup.BackupRetentionDays = genruntime.ClonePointerToInt(source.BackupRetentionDays) + + // EarliestRestoreDate + backup.EarliestRestoreDate = genruntime.ClonePointerToString(source.EarliestRestoreDate) + + // GeoRedundantBackup + backup.GeoRedundantBackup = genruntime.ClonePointerToString(source.GeoRedundantBackup) + + // Update the property bag + if len(propertyBag) > 0 { + backup.PropertyBag = propertyBag + } else { + backup.PropertyBag = nil + } + + // Invoke the augmentConversionForBackup_STATUS interface (if implemented) to customize the conversion + var backupAsAny any = backup + if augmentedBackup, ok := backupAsAny.(augmentConversionForBackup_STATUS); ok { + err := augmentedBackup.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_Backup_STATUS populates the provided destination Backup_STATUS from our Backup_STATUS +func (backup *Backup_STATUS) AssignProperties_To_Backup_STATUS(destination *v20230630s.Backup_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(backup.PropertyBag) + + // BackupRetentionDays + destination.BackupRetentionDays = genruntime.ClonePointerToInt(backup.BackupRetentionDays) + + // EarliestRestoreDate + destination.EarliestRestoreDate = genruntime.ClonePointerToString(backup.EarliestRestoreDate) + + // GeoRedundantBackup + destination.GeoRedundantBackup = genruntime.ClonePointerToString(backup.GeoRedundantBackup) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForBackup_STATUS interface (if implemented) to customize the conversion + var backupAsAny any = backup + if augmentedBackup, ok := backupAsAny.(augmentConversionForBackup_STATUS); ok { + err := augmentedBackup.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20210501.DataEncryption // The date encryption for cmk. type DataEncryption struct { @@ -284,6 +1434,106 @@ type DataEncryption struct { Type *string `json:"type,omitempty"` } +// AssignProperties_From_DataEncryption populates our DataEncryption from the provided source DataEncryption +func (encryption *DataEncryption) AssignProperties_From_DataEncryption(source *v20230630s.DataEncryption) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // GeoBackupKeyURI + encryption.GeoBackupKeyURI = genruntime.ClonePointerToString(source.GeoBackupKeyURI) + + // GeoBackupUserAssignedIdentityReference + if source.GeoBackupUserAssignedIdentityReference != nil { + geoBackupUserAssignedIdentityReference := source.GeoBackupUserAssignedIdentityReference.Copy() + encryption.GeoBackupUserAssignedIdentityReference = &geoBackupUserAssignedIdentityReference + } else { + encryption.GeoBackupUserAssignedIdentityReference = nil + } + + // PrimaryKeyURI + encryption.PrimaryKeyURI = genruntime.ClonePointerToString(source.PrimaryKeyURI) + + // PrimaryUserAssignedIdentityReference + if source.PrimaryUserAssignedIdentityReference != nil { + primaryUserAssignedIdentityReference := source.PrimaryUserAssignedIdentityReference.Copy() + encryption.PrimaryUserAssignedIdentityReference = &primaryUserAssignedIdentityReference + } else { + encryption.PrimaryUserAssignedIdentityReference = nil + } + + // Type + encryption.Type = genruntime.ClonePointerToString(source.Type) + + // Update the property bag + if len(propertyBag) > 0 { + encryption.PropertyBag = propertyBag + } else { + encryption.PropertyBag = nil + } + + // Invoke the augmentConversionForDataEncryption interface (if implemented) to customize the conversion + var encryptionAsAny any = encryption + if augmentedEncryption, ok := encryptionAsAny.(augmentConversionForDataEncryption); ok { + err := augmentedEncryption.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_DataEncryption populates the provided destination DataEncryption from our DataEncryption +func (encryption *DataEncryption) AssignProperties_To_DataEncryption(destination *v20230630s.DataEncryption) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(encryption.PropertyBag) + + // GeoBackupKeyURI + destination.GeoBackupKeyURI = genruntime.ClonePointerToString(encryption.GeoBackupKeyURI) + + // GeoBackupUserAssignedIdentityReference + if encryption.GeoBackupUserAssignedIdentityReference != nil { + geoBackupUserAssignedIdentityReference := encryption.GeoBackupUserAssignedIdentityReference.Copy() + destination.GeoBackupUserAssignedIdentityReference = &geoBackupUserAssignedIdentityReference + } else { + destination.GeoBackupUserAssignedIdentityReference = nil + } + + // PrimaryKeyURI + destination.PrimaryKeyURI = genruntime.ClonePointerToString(encryption.PrimaryKeyURI) + + // PrimaryUserAssignedIdentityReference + if encryption.PrimaryUserAssignedIdentityReference != nil { + primaryUserAssignedIdentityReference := encryption.PrimaryUserAssignedIdentityReference.Copy() + destination.PrimaryUserAssignedIdentityReference = &primaryUserAssignedIdentityReference + } else { + destination.PrimaryUserAssignedIdentityReference = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(encryption.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForDataEncryption interface (if implemented) to customize the conversion + var encryptionAsAny any = encryption + if augmentedEncryption, ok := encryptionAsAny.(augmentConversionForDataEncryption); ok { + err := augmentedEncryption.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20210501.DataEncryption_STATUS // The date encryption for cmk. type DataEncryption_STATUS struct { @@ -295,11 +1545,190 @@ type DataEncryption_STATUS struct { Type *string `json:"type,omitempty"` } -// Storage version of v1api20210501.FlexibleServerOperatorSpec -// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure -type FlexibleServerOperatorSpec struct { - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Secrets *FlexibleServerOperatorSecrets `json:"secrets,omitempty"` +// AssignProperties_From_DataEncryption_STATUS populates our DataEncryption_STATUS from the provided source DataEncryption_STATUS +func (encryption *DataEncryption_STATUS) AssignProperties_From_DataEncryption_STATUS(source *v20230630s.DataEncryption_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // GeoBackupKeyURI + encryption.GeoBackupKeyURI = genruntime.ClonePointerToString(source.GeoBackupKeyURI) + + // GeoBackupUserAssignedIdentityId + encryption.GeoBackupUserAssignedIdentityId = genruntime.ClonePointerToString(source.GeoBackupUserAssignedIdentityId) + + // PrimaryKeyURI + encryption.PrimaryKeyURI = genruntime.ClonePointerToString(source.PrimaryKeyURI) + + // PrimaryUserAssignedIdentityId + encryption.PrimaryUserAssignedIdentityId = genruntime.ClonePointerToString(source.PrimaryUserAssignedIdentityId) + + // Type + encryption.Type = genruntime.ClonePointerToString(source.Type) + + // Update the property bag + if len(propertyBag) > 0 { + encryption.PropertyBag = propertyBag + } else { + encryption.PropertyBag = nil + } + + // Invoke the augmentConversionForDataEncryption_STATUS interface (if implemented) to customize the conversion + var encryptionAsAny any = encryption + if augmentedEncryption, ok := encryptionAsAny.(augmentConversionForDataEncryption_STATUS); ok { + err := augmentedEncryption.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_DataEncryption_STATUS populates the provided destination DataEncryption_STATUS from our DataEncryption_STATUS +func (encryption *DataEncryption_STATUS) AssignProperties_To_DataEncryption_STATUS(destination *v20230630s.DataEncryption_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(encryption.PropertyBag) + + // GeoBackupKeyURI + destination.GeoBackupKeyURI = genruntime.ClonePointerToString(encryption.GeoBackupKeyURI) + + // GeoBackupUserAssignedIdentityId + destination.GeoBackupUserAssignedIdentityId = genruntime.ClonePointerToString(encryption.GeoBackupUserAssignedIdentityId) + + // PrimaryKeyURI + destination.PrimaryKeyURI = genruntime.ClonePointerToString(encryption.PrimaryKeyURI) + + // PrimaryUserAssignedIdentityId + destination.PrimaryUserAssignedIdentityId = genruntime.ClonePointerToString(encryption.PrimaryUserAssignedIdentityId) + + // Type + destination.Type = genruntime.ClonePointerToString(encryption.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForDataEncryption_STATUS interface (if implemented) to customize the conversion + var encryptionAsAny any = encryption + if augmentedEncryption, ok := encryptionAsAny.(augmentConversionForDataEncryption_STATUS); ok { + err := augmentedEncryption.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20210501.FlexibleServerOperatorSpec +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type FlexibleServerOperatorSpec struct { + ConfigMaps *FlexibleServerOperatorConfigMaps `json:"configMaps,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Secrets *FlexibleServerOperatorSecrets `json:"secrets,omitempty"` +} + +// AssignProperties_From_FlexibleServerOperatorSpec populates our FlexibleServerOperatorSpec from the provided source FlexibleServerOperatorSpec +func (operator *FlexibleServerOperatorSpec) AssignProperties_From_FlexibleServerOperatorSpec(source *v20230630s.FlexibleServerOperatorSpec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // ConfigMaps + if source.ConfigMaps != nil { + var configMap FlexibleServerOperatorConfigMaps + err := configMap.AssignProperties_From_FlexibleServerOperatorConfigMaps(source.ConfigMaps) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServerOperatorConfigMaps() to populate field ConfigMaps") + } + operator.ConfigMaps = &configMap + } else { + operator.ConfigMaps = nil + } + + // Secrets + if source.Secrets != nil { + var secret FlexibleServerOperatorSecrets + err := secret.AssignProperties_From_FlexibleServerOperatorSecrets(source.Secrets) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServerOperatorSecrets() to populate field Secrets") + } + operator.Secrets = &secret + } else { + operator.Secrets = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + operator.PropertyBag = propertyBag + } else { + operator.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServerOperatorSpec interface (if implemented) to customize the conversion + var operatorAsAny any = operator + if augmentedOperator, ok := operatorAsAny.(augmentConversionForFlexibleServerOperatorSpec); ok { + err := augmentedOperator.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServerOperatorSpec populates the provided destination FlexibleServerOperatorSpec from our FlexibleServerOperatorSpec +func (operator *FlexibleServerOperatorSpec) AssignProperties_To_FlexibleServerOperatorSpec(destination *v20230630s.FlexibleServerOperatorSpec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(operator.PropertyBag) + + // ConfigMaps + if operator.ConfigMaps != nil { + var configMap v20230630s.FlexibleServerOperatorConfigMaps + err := operator.ConfigMaps.AssignProperties_To_FlexibleServerOperatorConfigMaps(&configMap) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServerOperatorConfigMaps() to populate field ConfigMaps") + } + destination.ConfigMaps = &configMap + } else { + destination.ConfigMaps = nil + } + + // Secrets + if operator.Secrets != nil { + var secret v20230630s.FlexibleServerOperatorSecrets + err := operator.Secrets.AssignProperties_To_FlexibleServerOperatorSecrets(&secret) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServerOperatorSecrets() to populate field Secrets") + } + destination.Secrets = &secret + } else { + destination.Secrets = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServerOperatorSpec interface (if implemented) to customize the conversion + var operatorAsAny any = operator + if augmentedOperator, ok := operatorAsAny.(augmentConversionForFlexibleServerOperatorSpec); ok { + err := augmentedOperator.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } // Storage version of v1api20210501.HighAvailability @@ -310,6 +1739,68 @@ type HighAvailability struct { StandbyAvailabilityZone *string `json:"standbyAvailabilityZone,omitempty"` } +// AssignProperties_From_HighAvailability populates our HighAvailability from the provided source HighAvailability +func (availability *HighAvailability) AssignProperties_From_HighAvailability(source *v20230630s.HighAvailability) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Mode + availability.Mode = genruntime.ClonePointerToString(source.Mode) + + // StandbyAvailabilityZone + availability.StandbyAvailabilityZone = genruntime.ClonePointerToString(source.StandbyAvailabilityZone) + + // Update the property bag + if len(propertyBag) > 0 { + availability.PropertyBag = propertyBag + } else { + availability.PropertyBag = nil + } + + // Invoke the augmentConversionForHighAvailability interface (if implemented) to customize the conversion + var availabilityAsAny any = availability + if augmentedAvailability, ok := availabilityAsAny.(augmentConversionForHighAvailability); ok { + err := augmentedAvailability.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_HighAvailability populates the provided destination HighAvailability from our HighAvailability +func (availability *HighAvailability) AssignProperties_To_HighAvailability(destination *v20230630s.HighAvailability) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(availability.PropertyBag) + + // Mode + destination.Mode = genruntime.ClonePointerToString(availability.Mode) + + // StandbyAvailabilityZone + destination.StandbyAvailabilityZone = genruntime.ClonePointerToString(availability.StandbyAvailabilityZone) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForHighAvailability interface (if implemented) to customize the conversion + var availabilityAsAny any = availability + if augmentedAvailability, ok := availabilityAsAny.(augmentConversionForHighAvailability); ok { + err := augmentedAvailability.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20210501.HighAvailability_STATUS // Network related properties of a server type HighAvailability_STATUS struct { @@ -319,6 +1810,74 @@ type HighAvailability_STATUS struct { State *string `json:"state,omitempty"` } +// AssignProperties_From_HighAvailability_STATUS populates our HighAvailability_STATUS from the provided source HighAvailability_STATUS +func (availability *HighAvailability_STATUS) AssignProperties_From_HighAvailability_STATUS(source *v20230630s.HighAvailability_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Mode + availability.Mode = genruntime.ClonePointerToString(source.Mode) + + // StandbyAvailabilityZone + availability.StandbyAvailabilityZone = genruntime.ClonePointerToString(source.StandbyAvailabilityZone) + + // State + availability.State = genruntime.ClonePointerToString(source.State) + + // Update the property bag + if len(propertyBag) > 0 { + availability.PropertyBag = propertyBag + } else { + availability.PropertyBag = nil + } + + // Invoke the augmentConversionForHighAvailability_STATUS interface (if implemented) to customize the conversion + var availabilityAsAny any = availability + if augmentedAvailability, ok := availabilityAsAny.(augmentConversionForHighAvailability_STATUS); ok { + err := augmentedAvailability.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_HighAvailability_STATUS populates the provided destination HighAvailability_STATUS from our HighAvailability_STATUS +func (availability *HighAvailability_STATUS) AssignProperties_To_HighAvailability_STATUS(destination *v20230630s.HighAvailability_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(availability.PropertyBag) + + // Mode + destination.Mode = genruntime.ClonePointerToString(availability.Mode) + + // StandbyAvailabilityZone + destination.StandbyAvailabilityZone = genruntime.ClonePointerToString(availability.StandbyAvailabilityZone) + + // State + destination.State = genruntime.ClonePointerToString(availability.State) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForHighAvailability_STATUS interface (if implemented) to customize the conversion + var availabilityAsAny any = availability + if augmentedAvailability, ok := availabilityAsAny.(augmentConversionForHighAvailability_STATUS); ok { + err := augmentedAvailability.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20210501.Identity // Properties to configure Identity for Bring your Own Keys type Identity struct { @@ -327,6 +1886,98 @@ type Identity struct { UserAssignedIdentities []UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` } +// AssignProperties_From_MySQLServerIdentity populates our Identity from the provided source MySQLServerIdentity +func (identity *Identity) AssignProperties_From_MySQLServerIdentity(source *v20230630s.MySQLServerIdentity) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Type + identity.Type = genruntime.ClonePointerToString(source.Type) + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]UserAssignedIdentityDetails, len(source.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range source.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity UserAssignedIdentityDetails + err := userAssignedIdentity.AssignProperties_From_UserAssignedIdentityDetails(&userAssignedIdentityItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentityDetails() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + identity.UserAssignedIdentities = userAssignedIdentityList + } else { + identity.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + identity.PropertyBag = propertyBag + } else { + identity.PropertyBag = nil + } + + // Invoke the augmentConversionForIdentity interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForIdentity); ok { + err := augmentedIdentity.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_MySQLServerIdentity populates the provided destination MySQLServerIdentity from our Identity +func (identity *Identity) AssignProperties_To_MySQLServerIdentity(destination *v20230630s.MySQLServerIdentity) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) + + // Type + destination.Type = genruntime.ClonePointerToString(identity.Type) + + // UserAssignedIdentities + if identity.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]v20230630s.UserAssignedIdentityDetails, len(identity.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range identity.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity v20230630s.UserAssignedIdentityDetails + err := userAssignedIdentityItem.AssignProperties_To_UserAssignedIdentityDetails(&userAssignedIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentityDetails() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + destination.UserAssignedIdentities = userAssignedIdentityList + } else { + destination.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIdentity interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForIdentity); ok { + err := augmentedIdentity.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20210501.Identity_STATUS // Properties to configure Identity for Bring your Own Keys type Identity_STATUS struct { @@ -337,6 +1988,100 @@ type Identity_STATUS struct { UserAssignedIdentities map[string]v1.JSON `json:"userAssignedIdentities,omitempty"` } +// AssignProperties_From_MySQLServerIdentity_STATUS populates our Identity_STATUS from the provided source MySQLServerIdentity_STATUS +func (identity *Identity_STATUS) AssignProperties_From_MySQLServerIdentity_STATUS(source *v20230630s.MySQLServerIdentity_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // PrincipalId + identity.PrincipalId = genruntime.ClonePointerToString(source.PrincipalId) + + // TenantId + identity.TenantId = genruntime.ClonePointerToString(source.TenantId) + + // Type + identity.Type = genruntime.ClonePointerToString(source.Type) + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityMap := make(map[string]v1.JSON, len(source.UserAssignedIdentities)) + for userAssignedIdentityKey, userAssignedIdentityValue := range source.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityValue := userAssignedIdentityValue + userAssignedIdentityMap[userAssignedIdentityKey] = *userAssignedIdentityValue.DeepCopy() + } + identity.UserAssignedIdentities = userAssignedIdentityMap + } else { + identity.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + identity.PropertyBag = propertyBag + } else { + identity.PropertyBag = nil + } + + // Invoke the augmentConversionForIdentity_STATUS interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForIdentity_STATUS); ok { + err := augmentedIdentity.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_MySQLServerIdentity_STATUS populates the provided destination MySQLServerIdentity_STATUS from our Identity_STATUS +func (identity *Identity_STATUS) AssignProperties_To_MySQLServerIdentity_STATUS(destination *v20230630s.MySQLServerIdentity_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(identity.PropertyBag) + + // PrincipalId + destination.PrincipalId = genruntime.ClonePointerToString(identity.PrincipalId) + + // TenantId + destination.TenantId = genruntime.ClonePointerToString(identity.TenantId) + + // Type + destination.Type = genruntime.ClonePointerToString(identity.Type) + + // UserAssignedIdentities + if identity.UserAssignedIdentities != nil { + userAssignedIdentityMap := make(map[string]v1.JSON, len(identity.UserAssignedIdentities)) + for userAssignedIdentityKey, userAssignedIdentityValue := range identity.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityValue := userAssignedIdentityValue + userAssignedIdentityMap[userAssignedIdentityKey] = *userAssignedIdentityValue.DeepCopy() + } + destination.UserAssignedIdentities = userAssignedIdentityMap + } else { + destination.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForIdentity_STATUS interface (if implemented) to customize the conversion + var identityAsAny any = identity + if augmentedIdentity, ok := identityAsAny.(augmentConversionForIdentity_STATUS); ok { + err := augmentedIdentity.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20210501.MaintenanceWindow // Maintenance window of a server. type MaintenanceWindow struct { @@ -347,14 +2092,162 @@ type MaintenanceWindow struct { StartMinute *int `json:"startMinute,omitempty"` } -// Storage version of v1api20210501.MaintenanceWindow_STATUS -// Maintenance window of a server. -type MaintenanceWindow_STATUS struct { - CustomWindow *string `json:"customWindow,omitempty"` - DayOfWeek *int `json:"dayOfWeek,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - StartHour *int `json:"startHour,omitempty"` - StartMinute *int `json:"startMinute,omitempty"` +// AssignProperties_From_MaintenanceWindow populates our MaintenanceWindow from the provided source MaintenanceWindow +func (window *MaintenanceWindow) AssignProperties_From_MaintenanceWindow(source *v20230630s.MaintenanceWindow) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // CustomWindow + window.CustomWindow = genruntime.ClonePointerToString(source.CustomWindow) + + // DayOfWeek + window.DayOfWeek = genruntime.ClonePointerToInt(source.DayOfWeek) + + // StartHour + window.StartHour = genruntime.ClonePointerToInt(source.StartHour) + + // StartMinute + window.StartMinute = genruntime.ClonePointerToInt(source.StartMinute) + + // Update the property bag + if len(propertyBag) > 0 { + window.PropertyBag = propertyBag + } else { + window.PropertyBag = nil + } + + // Invoke the augmentConversionForMaintenanceWindow interface (if implemented) to customize the conversion + var windowAsAny any = window + if augmentedWindow, ok := windowAsAny.(augmentConversionForMaintenanceWindow); ok { + err := augmentedWindow.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_MaintenanceWindow populates the provided destination MaintenanceWindow from our MaintenanceWindow +func (window *MaintenanceWindow) AssignProperties_To_MaintenanceWindow(destination *v20230630s.MaintenanceWindow) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(window.PropertyBag) + + // CustomWindow + destination.CustomWindow = genruntime.ClonePointerToString(window.CustomWindow) + + // DayOfWeek + destination.DayOfWeek = genruntime.ClonePointerToInt(window.DayOfWeek) + + // StartHour + destination.StartHour = genruntime.ClonePointerToInt(window.StartHour) + + // StartMinute + destination.StartMinute = genruntime.ClonePointerToInt(window.StartMinute) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForMaintenanceWindow interface (if implemented) to customize the conversion + var windowAsAny any = window + if augmentedWindow, ok := windowAsAny.(augmentConversionForMaintenanceWindow); ok { + err := augmentedWindow.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20210501.MaintenanceWindow_STATUS +// Maintenance window of a server. +type MaintenanceWindow_STATUS struct { + CustomWindow *string `json:"customWindow,omitempty"` + DayOfWeek *int `json:"dayOfWeek,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + StartHour *int `json:"startHour,omitempty"` + StartMinute *int `json:"startMinute,omitempty"` +} + +// AssignProperties_From_MaintenanceWindow_STATUS populates our MaintenanceWindow_STATUS from the provided source MaintenanceWindow_STATUS +func (window *MaintenanceWindow_STATUS) AssignProperties_From_MaintenanceWindow_STATUS(source *v20230630s.MaintenanceWindow_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // CustomWindow + window.CustomWindow = genruntime.ClonePointerToString(source.CustomWindow) + + // DayOfWeek + window.DayOfWeek = genruntime.ClonePointerToInt(source.DayOfWeek) + + // StartHour + window.StartHour = genruntime.ClonePointerToInt(source.StartHour) + + // StartMinute + window.StartMinute = genruntime.ClonePointerToInt(source.StartMinute) + + // Update the property bag + if len(propertyBag) > 0 { + window.PropertyBag = propertyBag + } else { + window.PropertyBag = nil + } + + // Invoke the augmentConversionForMaintenanceWindow_STATUS interface (if implemented) to customize the conversion + var windowAsAny any = window + if augmentedWindow, ok := windowAsAny.(augmentConversionForMaintenanceWindow_STATUS); ok { + err := augmentedWindow.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_MaintenanceWindow_STATUS populates the provided destination MaintenanceWindow_STATUS from our MaintenanceWindow_STATUS +func (window *MaintenanceWindow_STATUS) AssignProperties_To_MaintenanceWindow_STATUS(destination *v20230630s.MaintenanceWindow_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(window.PropertyBag) + + // CustomWindow + destination.CustomWindow = genruntime.ClonePointerToString(window.CustomWindow) + + // DayOfWeek + destination.DayOfWeek = genruntime.ClonePointerToInt(window.DayOfWeek) + + // StartHour + destination.StartHour = genruntime.ClonePointerToInt(window.StartHour) + + // StartMinute + destination.StartMinute = genruntime.ClonePointerToInt(window.StartMinute) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForMaintenanceWindow_STATUS interface (if implemented) to customize the conversion + var windowAsAny any = window + if augmentedWindow, ok := windowAsAny.(augmentConversionForMaintenanceWindow_STATUS); ok { + err := augmentedWindow.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } // Storage version of v1api20210501.Network @@ -368,6 +2261,108 @@ type Network struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_Network populates our Network from the provided source Network +func (network *Network) AssignProperties_From_Network(source *v20230630s.Network) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // DelegatedSubnetResourceReference + if source.DelegatedSubnetResourceReference != nil { + delegatedSubnetResourceReference := source.DelegatedSubnetResourceReference.Copy() + network.DelegatedSubnetResourceReference = &delegatedSubnetResourceReference + } else { + network.DelegatedSubnetResourceReference = nil + } + + // PrivateDnsZoneResourceReference + if source.PrivateDnsZoneResourceReference != nil { + privateDnsZoneResourceReference := source.PrivateDnsZoneResourceReference.Copy() + network.PrivateDnsZoneResourceReference = &privateDnsZoneResourceReference + } else { + network.PrivateDnsZoneResourceReference = nil + } + + // PublicNetworkAccess + if source.PublicNetworkAccess != nil { + propertyBag.Add("PublicNetworkAccess", *source.PublicNetworkAccess) + } else { + propertyBag.Remove("PublicNetworkAccess") + } + + // Update the property bag + if len(propertyBag) > 0 { + network.PropertyBag = propertyBag + } else { + network.PropertyBag = nil + } + + // Invoke the augmentConversionForNetwork interface (if implemented) to customize the conversion + var networkAsAny any = network + if augmentedNetwork, ok := networkAsAny.(augmentConversionForNetwork); ok { + err := augmentedNetwork.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_Network populates the provided destination Network from our Network +func (network *Network) AssignProperties_To_Network(destination *v20230630s.Network) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(network.PropertyBag) + + // DelegatedSubnetResourceReference + if network.DelegatedSubnetResourceReference != nil { + delegatedSubnetResourceReference := network.DelegatedSubnetResourceReference.Copy() + destination.DelegatedSubnetResourceReference = &delegatedSubnetResourceReference + } else { + destination.DelegatedSubnetResourceReference = nil + } + + // PrivateDnsZoneResourceReference + if network.PrivateDnsZoneResourceReference != nil { + privateDnsZoneResourceReference := network.PrivateDnsZoneResourceReference.Copy() + destination.PrivateDnsZoneResourceReference = &privateDnsZoneResourceReference + } else { + destination.PrivateDnsZoneResourceReference = nil + } + + // PublicNetworkAccess + if propertyBag.Contains("PublicNetworkAccess") { + var publicNetworkAccess string + err := propertyBag.Pull("PublicNetworkAccess", &publicNetworkAccess) + if err != nil { + return errors.Wrap(err, "pulling 'PublicNetworkAccess' from propertyBag") + } + + destination.PublicNetworkAccess = &publicNetworkAccess + } else { + destination.PublicNetworkAccess = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForNetwork interface (if implemented) to customize the conversion + var networkAsAny any = network + if augmentedNetwork, ok := networkAsAny.(augmentConversionForNetwork); ok { + err := augmentedNetwork.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20210501.Network_STATUS // Network related properties of a server type Network_STATUS struct { @@ -377,6 +2372,74 @@ type Network_STATUS struct { PublicNetworkAccess *string `json:"publicNetworkAccess,omitempty"` } +// AssignProperties_From_Network_STATUS populates our Network_STATUS from the provided source Network_STATUS +func (network *Network_STATUS) AssignProperties_From_Network_STATUS(source *v20230630s.Network_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // DelegatedSubnetResourceId + network.DelegatedSubnetResourceId = genruntime.ClonePointerToString(source.DelegatedSubnetResourceId) + + // PrivateDnsZoneResourceId + network.PrivateDnsZoneResourceId = genruntime.ClonePointerToString(source.PrivateDnsZoneResourceId) + + // PublicNetworkAccess + network.PublicNetworkAccess = genruntime.ClonePointerToString(source.PublicNetworkAccess) + + // Update the property bag + if len(propertyBag) > 0 { + network.PropertyBag = propertyBag + } else { + network.PropertyBag = nil + } + + // Invoke the augmentConversionForNetwork_STATUS interface (if implemented) to customize the conversion + var networkAsAny any = network + if augmentedNetwork, ok := networkAsAny.(augmentConversionForNetwork_STATUS); ok { + err := augmentedNetwork.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_Network_STATUS populates the provided destination Network_STATUS from our Network_STATUS +func (network *Network_STATUS) AssignProperties_To_Network_STATUS(destination *v20230630s.Network_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(network.PropertyBag) + + // DelegatedSubnetResourceId + destination.DelegatedSubnetResourceId = genruntime.ClonePointerToString(network.DelegatedSubnetResourceId) + + // PrivateDnsZoneResourceId + destination.PrivateDnsZoneResourceId = genruntime.ClonePointerToString(network.PrivateDnsZoneResourceId) + + // PublicNetworkAccess + destination.PublicNetworkAccess = genruntime.ClonePointerToString(network.PublicNetworkAccess) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForNetwork_STATUS interface (if implemented) to customize the conversion + var networkAsAny any = network + if augmentedNetwork, ok := networkAsAny.(augmentConversionForNetwork_STATUS); ok { + err := augmentedNetwork.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20210501.Sku // Billing information related properties of a server. type Sku struct { @@ -385,21 +2448,253 @@ type Sku struct { Tier *string `json:"tier,omitempty"` } -// Storage version of v1api20210501.Sku_STATUS -// Billing information related properties of a server. -type Sku_STATUS struct { - Name *string `json:"name,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - Tier *string `json:"tier,omitempty"` -} +// AssignProperties_From_MySQLServerSku populates our Sku from the provided source MySQLServerSku +func (sku *Sku) AssignProperties_From_MySQLServerSku(source *v20230630s.MySQLServerSku) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Name + sku.Name = genruntime.ClonePointerToString(source.Name) + + // Tier + sku.Tier = genruntime.ClonePointerToString(source.Tier) + + // Update the property bag + if len(propertyBag) > 0 { + sku.PropertyBag = propertyBag + } else { + sku.PropertyBag = nil + } + + // Invoke the augmentConversionForSku interface (if implemented) to customize the conversion + var skuAsAny any = sku + if augmentedSku, ok := skuAsAny.(augmentConversionForSku); ok { + err := augmentedSku.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_MySQLServerSku populates the provided destination MySQLServerSku from our Sku +func (sku *Sku) AssignProperties_To_MySQLServerSku(destination *v20230630s.MySQLServerSku) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(sku.PropertyBag) + + // Name + destination.Name = genruntime.ClonePointerToString(sku.Name) + + // Tier + destination.Tier = genruntime.ClonePointerToString(sku.Tier) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForSku interface (if implemented) to customize the conversion + var skuAsAny any = sku + if augmentedSku, ok := skuAsAny.(augmentConversionForSku); ok { + err := augmentedSku.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20210501.Sku_STATUS +// Billing information related properties of a server. +type Sku_STATUS struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Tier *string `json:"tier,omitempty"` +} + +// AssignProperties_From_MySQLServerSku_STATUS populates our Sku_STATUS from the provided source MySQLServerSku_STATUS +func (sku *Sku_STATUS) AssignProperties_From_MySQLServerSku_STATUS(source *v20230630s.MySQLServerSku_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Name + sku.Name = genruntime.ClonePointerToString(source.Name) + + // Tier + sku.Tier = genruntime.ClonePointerToString(source.Tier) + + // Update the property bag + if len(propertyBag) > 0 { + sku.PropertyBag = propertyBag + } else { + sku.PropertyBag = nil + } + + // Invoke the augmentConversionForSku_STATUS interface (if implemented) to customize the conversion + var skuAsAny any = sku + if augmentedSku, ok := skuAsAny.(augmentConversionForSku_STATUS); ok { + err := augmentedSku.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_MySQLServerSku_STATUS populates the provided destination MySQLServerSku_STATUS from our Sku_STATUS +func (sku *Sku_STATUS) AssignProperties_To_MySQLServerSku_STATUS(destination *v20230630s.MySQLServerSku_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(sku.PropertyBag) + + // Name + destination.Name = genruntime.ClonePointerToString(sku.Name) + + // Tier + destination.Tier = genruntime.ClonePointerToString(sku.Tier) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForSku_STATUS interface (if implemented) to customize the conversion + var skuAsAny any = sku + if augmentedSku, ok := skuAsAny.(augmentConversionForSku_STATUS); ok { + err := augmentedSku.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +// Storage version of v1api20210501.Storage +// Storage Profile properties of a server +type Storage struct { + AutoGrow *string `json:"autoGrow,omitempty"` + Iops *int `json:"iops,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + StorageSizeGB *int `json:"storageSizeGB,omitempty"` +} + +// AssignProperties_From_Storage populates our Storage from the provided source Storage +func (storage *Storage) AssignProperties_From_Storage(source *v20230630s.Storage) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AutoGrow + storage.AutoGrow = genruntime.ClonePointerToString(source.AutoGrow) + + // AutoIoScaling + if source.AutoIoScaling != nil { + propertyBag.Add("AutoIoScaling", *source.AutoIoScaling) + } else { + propertyBag.Remove("AutoIoScaling") + } + + // Iops + storage.Iops = genruntime.ClonePointerToInt(source.Iops) + + // LogOnDisk + if source.LogOnDisk != nil { + propertyBag.Add("LogOnDisk", *source.LogOnDisk) + } else { + propertyBag.Remove("LogOnDisk") + } + + // StorageSizeGB + storage.StorageSizeGB = genruntime.ClonePointerToInt(source.StorageSizeGB) + + // Update the property bag + if len(propertyBag) > 0 { + storage.PropertyBag = propertyBag + } else { + storage.PropertyBag = nil + } + + // Invoke the augmentConversionForStorage interface (if implemented) to customize the conversion + var storageAsAny any = storage + if augmentedStorage, ok := storageAsAny.(augmentConversionForStorage); ok { + err := augmentedStorage.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_Storage populates the provided destination Storage from our Storage +func (storage *Storage) AssignProperties_To_Storage(destination *v20230630s.Storage) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(storage.PropertyBag) + + // AutoGrow + destination.AutoGrow = genruntime.ClonePointerToString(storage.AutoGrow) + + // AutoIoScaling + if propertyBag.Contains("AutoIoScaling") { + var autoIoScaling string + err := propertyBag.Pull("AutoIoScaling", &autoIoScaling) + if err != nil { + return errors.Wrap(err, "pulling 'AutoIoScaling' from propertyBag") + } + + destination.AutoIoScaling = &autoIoScaling + } else { + destination.AutoIoScaling = nil + } + + // Iops + destination.Iops = genruntime.ClonePointerToInt(storage.Iops) + + // LogOnDisk + if propertyBag.Contains("LogOnDisk") { + var logOnDisk string + err := propertyBag.Pull("LogOnDisk", &logOnDisk) + if err != nil { + return errors.Wrap(err, "pulling 'LogOnDisk' from propertyBag") + } + + destination.LogOnDisk = &logOnDisk + } else { + destination.LogOnDisk = nil + } + + // StorageSizeGB + destination.StorageSizeGB = genruntime.ClonePointerToInt(storage.StorageSizeGB) -// Storage version of v1api20210501.Storage -// Storage Profile properties of a server -type Storage struct { - AutoGrow *string `json:"autoGrow,omitempty"` - Iops *int `json:"iops,omitempty"` - PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` - StorageSizeGB *int `json:"storageSizeGB,omitempty"` + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForStorage interface (if implemented) to customize the conversion + var storageAsAny any = storage + if augmentedStorage, ok := storageAsAny.(augmentConversionForStorage); ok { + err := augmentedStorage.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } // Storage version of v1api20210501.Storage_STATUS @@ -412,6 +2707,120 @@ type Storage_STATUS struct { StorageSku *string `json:"storageSku,omitempty"` } +// AssignProperties_From_Storage_STATUS populates our Storage_STATUS from the provided source Storage_STATUS +func (storage *Storage_STATUS) AssignProperties_From_Storage_STATUS(source *v20230630s.Storage_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AutoGrow + storage.AutoGrow = genruntime.ClonePointerToString(source.AutoGrow) + + // AutoIoScaling + if source.AutoIoScaling != nil { + propertyBag.Add("AutoIoScaling", *source.AutoIoScaling) + } else { + propertyBag.Remove("AutoIoScaling") + } + + // Iops + storage.Iops = genruntime.ClonePointerToInt(source.Iops) + + // LogOnDisk + if source.LogOnDisk != nil { + propertyBag.Add("LogOnDisk", *source.LogOnDisk) + } else { + propertyBag.Remove("LogOnDisk") + } + + // StorageSizeGB + storage.StorageSizeGB = genruntime.ClonePointerToInt(source.StorageSizeGB) + + // StorageSku + storage.StorageSku = genruntime.ClonePointerToString(source.StorageSku) + + // Update the property bag + if len(propertyBag) > 0 { + storage.PropertyBag = propertyBag + } else { + storage.PropertyBag = nil + } + + // Invoke the augmentConversionForStorage_STATUS interface (if implemented) to customize the conversion + var storageAsAny any = storage + if augmentedStorage, ok := storageAsAny.(augmentConversionForStorage_STATUS); ok { + err := augmentedStorage.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_Storage_STATUS populates the provided destination Storage_STATUS from our Storage_STATUS +func (storage *Storage_STATUS) AssignProperties_To_Storage_STATUS(destination *v20230630s.Storage_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(storage.PropertyBag) + + // AutoGrow + destination.AutoGrow = genruntime.ClonePointerToString(storage.AutoGrow) + + // AutoIoScaling + if propertyBag.Contains("AutoIoScaling") { + var autoIoScaling string + err := propertyBag.Pull("AutoIoScaling", &autoIoScaling) + if err != nil { + return errors.Wrap(err, "pulling 'AutoIoScaling' from propertyBag") + } + + destination.AutoIoScaling = &autoIoScaling + } else { + destination.AutoIoScaling = nil + } + + // Iops + destination.Iops = genruntime.ClonePointerToInt(storage.Iops) + + // LogOnDisk + if propertyBag.Contains("LogOnDisk") { + var logOnDisk string + err := propertyBag.Pull("LogOnDisk", &logOnDisk) + if err != nil { + return errors.Wrap(err, "pulling 'LogOnDisk' from propertyBag") + } + + destination.LogOnDisk = &logOnDisk + } else { + destination.LogOnDisk = nil + } + + // StorageSizeGB + destination.StorageSizeGB = genruntime.ClonePointerToInt(storage.StorageSizeGB) + + // StorageSku + destination.StorageSku = genruntime.ClonePointerToString(storage.StorageSku) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForStorage_STATUS interface (if implemented) to customize the conversion + var storageAsAny any = storage + if augmentedStorage, ok := storageAsAny.(augmentConversionForStorage_STATUS); ok { + err := augmentedStorage.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20210501.SystemData_STATUS // Metadata pertaining to creation and last modification of the resource. type SystemData_STATUS struct { @@ -510,17 +2919,257 @@ func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination return nil } +type augmentConversionForBackup interface { + AssignPropertiesFrom(src *v20230630s.Backup) error + AssignPropertiesTo(dst *v20230630s.Backup) error +} + +type augmentConversionForBackup_STATUS interface { + AssignPropertiesFrom(src *v20230630s.Backup_STATUS) error + AssignPropertiesTo(dst *v20230630s.Backup_STATUS) error +} + +type augmentConversionForDataEncryption interface { + AssignPropertiesFrom(src *v20230630s.DataEncryption) error + AssignPropertiesTo(dst *v20230630s.DataEncryption) error +} + +type augmentConversionForDataEncryption_STATUS interface { + AssignPropertiesFrom(src *v20230630s.DataEncryption_STATUS) error + AssignPropertiesTo(dst *v20230630s.DataEncryption_STATUS) error +} + +type augmentConversionForFlexibleServerOperatorSpec interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServerOperatorSpec) error + AssignPropertiesTo(dst *v20230630s.FlexibleServerOperatorSpec) error +} + +type augmentConversionForHighAvailability interface { + AssignPropertiesFrom(src *v20230630s.HighAvailability) error + AssignPropertiesTo(dst *v20230630s.HighAvailability) error +} + +type augmentConversionForHighAvailability_STATUS interface { + AssignPropertiesFrom(src *v20230630s.HighAvailability_STATUS) error + AssignPropertiesTo(dst *v20230630s.HighAvailability_STATUS) error +} + +type augmentConversionForIdentity interface { + AssignPropertiesFrom(src *v20230630s.MySQLServerIdentity) error + AssignPropertiesTo(dst *v20230630s.MySQLServerIdentity) error +} + +type augmentConversionForIdentity_STATUS interface { + AssignPropertiesFrom(src *v20230630s.MySQLServerIdentity_STATUS) error + AssignPropertiesTo(dst *v20230630s.MySQLServerIdentity_STATUS) error +} + +type augmentConversionForMaintenanceWindow interface { + AssignPropertiesFrom(src *v20230630s.MaintenanceWindow) error + AssignPropertiesTo(dst *v20230630s.MaintenanceWindow) error +} + +type augmentConversionForMaintenanceWindow_STATUS interface { + AssignPropertiesFrom(src *v20230630s.MaintenanceWindow_STATUS) error + AssignPropertiesTo(dst *v20230630s.MaintenanceWindow_STATUS) error +} + +type augmentConversionForNetwork interface { + AssignPropertiesFrom(src *v20230630s.Network) error + AssignPropertiesTo(dst *v20230630s.Network) error +} + +type augmentConversionForNetwork_STATUS interface { + AssignPropertiesFrom(src *v20230630s.Network_STATUS) error + AssignPropertiesTo(dst *v20230630s.Network_STATUS) error +} + +type augmentConversionForSku interface { + AssignPropertiesFrom(src *v20230630s.MySQLServerSku) error + AssignPropertiesTo(dst *v20230630s.MySQLServerSku) error +} + +type augmentConversionForSku_STATUS interface { + AssignPropertiesFrom(src *v20230630s.MySQLServerSku_STATUS) error + AssignPropertiesTo(dst *v20230630s.MySQLServerSku_STATUS) error +} + +type augmentConversionForStorage interface { + AssignPropertiesFrom(src *v20230630s.Storage) error + AssignPropertiesTo(dst *v20230630s.Storage) error +} + +type augmentConversionForStorage_STATUS interface { + AssignPropertiesFrom(src *v20230630s.Storage_STATUS) error + AssignPropertiesTo(dst *v20230630s.Storage_STATUS) error +} + type augmentConversionForSystemData_STATUS interface { AssignPropertiesFrom(src *v20220101s.SystemData_STATUS) error AssignPropertiesTo(dst *v20220101s.SystemData_STATUS) error } +// Storage version of v1api20210501.FlexibleServerOperatorConfigMaps +type FlexibleServerOperatorConfigMaps struct { + AdministratorLogin *genruntime.ConfigMapDestination `json:"administratorLogin,omitempty"` + FullyQualifiedDomainName *genruntime.ConfigMapDestination `json:"fullyQualifiedDomainName,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// AssignProperties_From_FlexibleServerOperatorConfigMaps populates our FlexibleServerOperatorConfigMaps from the provided source FlexibleServerOperatorConfigMaps +func (maps *FlexibleServerOperatorConfigMaps) AssignProperties_From_FlexibleServerOperatorConfigMaps(source *v20230630s.FlexibleServerOperatorConfigMaps) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AdministratorLogin + if source.AdministratorLogin != nil { + administratorLogin := source.AdministratorLogin.Copy() + maps.AdministratorLogin = &administratorLogin + } else { + maps.AdministratorLogin = nil + } + + // FullyQualifiedDomainName + if source.FullyQualifiedDomainName != nil { + fullyQualifiedDomainName := source.FullyQualifiedDomainName.Copy() + maps.FullyQualifiedDomainName = &fullyQualifiedDomainName + } else { + maps.FullyQualifiedDomainName = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + maps.PropertyBag = propertyBag + } else { + maps.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServerOperatorConfigMaps interface (if implemented) to customize the conversion + var mapsAsAny any = maps + if augmentedMaps, ok := mapsAsAny.(augmentConversionForFlexibleServerOperatorConfigMaps); ok { + err := augmentedMaps.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServerOperatorConfigMaps populates the provided destination FlexibleServerOperatorConfigMaps from our FlexibleServerOperatorConfigMaps +func (maps *FlexibleServerOperatorConfigMaps) AssignProperties_To_FlexibleServerOperatorConfigMaps(destination *v20230630s.FlexibleServerOperatorConfigMaps) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(maps.PropertyBag) + + // AdministratorLogin + if maps.AdministratorLogin != nil { + administratorLogin := maps.AdministratorLogin.Copy() + destination.AdministratorLogin = &administratorLogin + } else { + destination.AdministratorLogin = nil + } + + // FullyQualifiedDomainName + if maps.FullyQualifiedDomainName != nil { + fullyQualifiedDomainName := maps.FullyQualifiedDomainName.Copy() + destination.FullyQualifiedDomainName = &fullyQualifiedDomainName + } else { + destination.FullyQualifiedDomainName = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServerOperatorConfigMaps interface (if implemented) to customize the conversion + var mapsAsAny any = maps + if augmentedMaps, ok := mapsAsAny.(augmentConversionForFlexibleServerOperatorConfigMaps); ok { + err := augmentedMaps.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20210501.FlexibleServerOperatorSecrets type FlexibleServerOperatorSecrets struct { FullyQualifiedDomainName *genruntime.SecretDestination `json:"fullyQualifiedDomainName,omitempty"` PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_FlexibleServerOperatorSecrets populates our FlexibleServerOperatorSecrets from the provided source FlexibleServerOperatorSecrets +func (secrets *FlexibleServerOperatorSecrets) AssignProperties_From_FlexibleServerOperatorSecrets(source *v20230630s.FlexibleServerOperatorSecrets) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // FullyQualifiedDomainName + if source.FullyQualifiedDomainName != nil { + fullyQualifiedDomainName := source.FullyQualifiedDomainName.Copy() + secrets.FullyQualifiedDomainName = &fullyQualifiedDomainName + } else { + secrets.FullyQualifiedDomainName = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + secrets.PropertyBag = propertyBag + } else { + secrets.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServerOperatorSecrets interface (if implemented) to customize the conversion + var secretsAsAny any = secrets + if augmentedSecrets, ok := secretsAsAny.(augmentConversionForFlexibleServerOperatorSecrets); ok { + err := augmentedSecrets.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServerOperatorSecrets populates the provided destination FlexibleServerOperatorSecrets from our FlexibleServerOperatorSecrets +func (secrets *FlexibleServerOperatorSecrets) AssignProperties_To_FlexibleServerOperatorSecrets(destination *v20230630s.FlexibleServerOperatorSecrets) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(secrets.PropertyBag) + + // FullyQualifiedDomainName + if secrets.FullyQualifiedDomainName != nil { + fullyQualifiedDomainName := secrets.FullyQualifiedDomainName.Copy() + destination.FullyQualifiedDomainName = &fullyQualifiedDomainName + } else { + destination.FullyQualifiedDomainName = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServerOperatorSecrets interface (if implemented) to customize the conversion + var secretsAsAny any = secrets + if augmentedSecrets, ok := secretsAsAny.(augmentConversionForFlexibleServerOperatorSecrets); ok { + err := augmentedSecrets.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + // Storage version of v1api20210501.UserAssignedIdentityDetails // Information about the user assigned identity for the resource type UserAssignedIdentityDetails struct { @@ -528,6 +3177,77 @@ type UserAssignedIdentityDetails struct { Reference genruntime.ResourceReference `armReference:"Reference" json:"reference,omitempty"` } +// AssignProperties_From_UserAssignedIdentityDetails populates our UserAssignedIdentityDetails from the provided source UserAssignedIdentityDetails +func (details *UserAssignedIdentityDetails) AssignProperties_From_UserAssignedIdentityDetails(source *v20230630s.UserAssignedIdentityDetails) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Reference + details.Reference = source.Reference.Copy() + + // Update the property bag + if len(propertyBag) > 0 { + details.PropertyBag = propertyBag + } else { + details.PropertyBag = nil + } + + // Invoke the augmentConversionForUserAssignedIdentityDetails interface (if implemented) to customize the conversion + var detailsAsAny any = details + if augmentedDetails, ok := detailsAsAny.(augmentConversionForUserAssignedIdentityDetails); ok { + err := augmentedDetails.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_UserAssignedIdentityDetails populates the provided destination UserAssignedIdentityDetails from our UserAssignedIdentityDetails +func (details *UserAssignedIdentityDetails) AssignProperties_To_UserAssignedIdentityDetails(destination *v20230630s.UserAssignedIdentityDetails) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(details.PropertyBag) + + // Reference + destination.Reference = details.Reference.Copy() + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForUserAssignedIdentityDetails interface (if implemented) to customize the conversion + var detailsAsAny any = details + if augmentedDetails, ok := detailsAsAny.(augmentConversionForUserAssignedIdentityDetails); ok { + err := augmentedDetails.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForFlexibleServerOperatorConfigMaps interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServerOperatorConfigMaps) error + AssignPropertiesTo(dst *v20230630s.FlexibleServerOperatorConfigMaps) error +} + +type augmentConversionForFlexibleServerOperatorSecrets interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServerOperatorSecrets) error + AssignPropertiesTo(dst *v20230630s.FlexibleServerOperatorSecrets) error +} + +type augmentConversionForUserAssignedIdentityDetails interface { + AssignPropertiesFrom(src *v20230630s.UserAssignedIdentityDetails) error + AssignPropertiesTo(dst *v20230630s.UserAssignedIdentityDetails) error +} + func init() { SchemeBuilder.Register(&FlexibleServer{}, &FlexibleServerList{}) } diff --git a/v2/api/dbformysql/v1api20210501/storage/flexible_server_types_gen_test.go b/v2/api/dbformysql/v1api20210501/storage/flexible_server_types_gen_test.go index 8ea2179c2ff..c7f67ef8960 100644 --- a/v2/api/dbformysql/v1api20210501/storage/flexible_server_types_gen_test.go +++ b/v2/api/dbformysql/v1api20210501/storage/flexible_server_types_gen_test.go @@ -6,6 +6,7 @@ package storage import ( "encoding/json" v20220101s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20220101/storage" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -18,6 +19,91 @@ import ( "testing" ) +func Test_FlexibleServer_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServer to hub returns original", + prop.ForAll(RunResourceConversionTestForFlexibleServer, FlexibleServerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForFlexibleServer tests if a specific instance of FlexibleServer round trips to the hub storage version and back losslessly +func RunResourceConversionTestForFlexibleServer(subject FlexibleServer) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub v20230630s.FlexibleServer + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual FlexibleServer + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServer_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServer to FlexibleServer via AssignProperties_To_FlexibleServer & AssignProperties_From_FlexibleServer returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServer, FlexibleServerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServer tests if a specific instance of FlexibleServer can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServer(subject FlexibleServer) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServer + err := copied.AssignProperties_To_FlexibleServer(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServer + err = actual.AssignProperties_From_FlexibleServer(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServer_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -79,6 +165,48 @@ func AddRelatedPropertyGeneratorsForFlexibleServer(gens map[string]gopter.Gen) { gens["Status"] = FlexibleServer_STATUSGenerator() } +func Test_FlexibleServer_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServer_Spec to FlexibleServer_Spec via AssignProperties_To_FlexibleServer_Spec & AssignProperties_From_FlexibleServer_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServer_Spec, FlexibleServer_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServer_Spec tests if a specific instance of FlexibleServer_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServer_Spec(subject FlexibleServer_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServer_Spec + err := copied.AssignProperties_To_FlexibleServer_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServer_Spec + err = actual.AssignProperties_From_FlexibleServer_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServer_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -172,6 +300,48 @@ func AddRelatedPropertyGeneratorsForFlexibleServer_Spec(gens map[string]gopter.G gens["Storage"] = gen.PtrOf(StorageGenerator()) } +func Test_FlexibleServer_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServer_STATUS to FlexibleServer_STATUS via AssignProperties_To_FlexibleServer_STATUS & AssignProperties_From_FlexibleServer_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServer_STATUS, FlexibleServer_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServer_STATUS tests if a specific instance of FlexibleServer_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServer_STATUS(subject FlexibleServer_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServer_STATUS + err := copied.AssignProperties_To_FlexibleServer_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServer_STATUS + err = actual.AssignProperties_From_FlexibleServer_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServer_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -269,6 +439,48 @@ func AddRelatedPropertyGeneratorsForFlexibleServer_STATUS(gens map[string]gopter gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) } +func Test_Backup_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Backup to Backup via AssignProperties_To_Backup & AssignProperties_From_Backup returns original", + prop.ForAll(RunPropertyAssignmentTestForBackup, BackupGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForBackup tests if a specific instance of Backup can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForBackup(subject Backup) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.Backup + err := copied.AssignProperties_To_Backup(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Backup + err = actual.AssignProperties_From_Backup(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_Backup_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -330,6 +542,48 @@ func AddIndependentPropertyGeneratorsForBackup(gens map[string]gopter.Gen) { gens["GeoRedundantBackup"] = gen.PtrOf(gen.AlphaString()) } +func Test_Backup_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Backup_STATUS to Backup_STATUS via AssignProperties_To_Backup_STATUS & AssignProperties_From_Backup_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForBackup_STATUS, Backup_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForBackup_STATUS tests if a specific instance of Backup_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForBackup_STATUS(subject Backup_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.Backup_STATUS + err := copied.AssignProperties_To_Backup_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Backup_STATUS + err = actual.AssignProperties_From_Backup_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_Backup_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -392,6 +646,48 @@ func AddIndependentPropertyGeneratorsForBackup_STATUS(gens map[string]gopter.Gen gens["GeoRedundantBackup"] = gen.PtrOf(gen.AlphaString()) } +func Test_DataEncryption_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DataEncryption to DataEncryption via AssignProperties_To_DataEncryption & AssignProperties_From_DataEncryption returns original", + prop.ForAll(RunPropertyAssignmentTestForDataEncryption, DataEncryptionGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDataEncryption tests if a specific instance of DataEncryption can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDataEncryption(subject DataEncryption) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.DataEncryption + err := copied.AssignProperties_To_DataEncryption(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DataEncryption + err = actual.AssignProperties_From_DataEncryption(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_DataEncryption_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -454,34 +750,37 @@ func AddIndependentPropertyGeneratorsForDataEncryption(gens map[string]gopter.Ge gens["Type"] = gen.PtrOf(gen.AlphaString()) } -func Test_DataEncryption_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { +func Test_DataEncryption_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() - parameters.MinSuccessfulTests = 80 - parameters.MaxSize = 3 + parameters.MaxSize = 10 properties := gopter.NewProperties(parameters) properties.Property( - "Round trip of DataEncryption_STATUS via JSON returns original", - prop.ForAll(RunJSONSerializationTestForDataEncryption_STATUS, DataEncryption_STATUSGenerator())) - properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) + "Round trip from DataEncryption_STATUS to DataEncryption_STATUS via AssignProperties_To_DataEncryption_STATUS & AssignProperties_From_DataEncryption_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForDataEncryption_STATUS, DataEncryption_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) } -// RunJSONSerializationTestForDataEncryption_STATUS runs a test to see if a specific instance of DataEncryption_STATUS round trips to JSON and back losslessly -func RunJSONSerializationTestForDataEncryption_STATUS(subject DataEncryption_STATUS) string { - // Serialize to JSON - bin, err := json.Marshal(subject) +// RunPropertyAssignmentTestForDataEncryption_STATUS tests if a specific instance of DataEncryption_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDataEncryption_STATUS(subject DataEncryption_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.DataEncryption_STATUS + err := copied.AssignProperties_To_DataEncryption_STATUS(&other) if err != nil { return err.Error() } - // Deserialize back into memory + // Use AssignPropertiesFrom() to convert back to our original type var actual DataEncryption_STATUS - err = json.Unmarshal(bin, &actual) + err = actual.AssignProperties_From_DataEncryption_STATUS(&other) if err != nil { return err.Error() } - // Check for outcome + // Check for a match match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) if !match { actualFmt := pretty.Sprint(actual) @@ -493,7 +792,46 @@ func RunJSONSerializationTestForDataEncryption_STATUS(subject DataEncryption_STA return "" } -// Generator of DataEncryption_STATUS instances for property testing - lazily instantiated by +func Test_DataEncryption_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DataEncryption_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDataEncryption_STATUS, DataEncryption_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDataEncryption_STATUS runs a test to see if a specific instance of DataEncryption_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDataEncryption_STATUS(subject DataEncryption_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DataEncryption_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DataEncryption_STATUS instances for property testing - lazily instantiated by // DataEncryption_STATUSGenerator() var dataEncryption_STATUSGenerator gopter.Gen @@ -519,6 +857,48 @@ func AddIndependentPropertyGeneratorsForDataEncryption_STATUS(gens map[string]go gens["Type"] = gen.PtrOf(gen.AlphaString()) } +func Test_FlexibleServerOperatorSpec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServerOperatorSpec to FlexibleServerOperatorSpec via AssignProperties_To_FlexibleServerOperatorSpec & AssignProperties_From_FlexibleServerOperatorSpec returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServerOperatorSpec, FlexibleServerOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServerOperatorSpec tests if a specific instance of FlexibleServerOperatorSpec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServerOperatorSpec(subject FlexibleServerOperatorSpec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServerOperatorSpec + err := copied.AssignProperties_To_FlexibleServerOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServerOperatorSpec + err = actual.AssignProperties_From_FlexibleServerOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServerOperatorSpec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -577,9 +957,52 @@ func FlexibleServerOperatorSpecGenerator() gopter.Gen { // AddRelatedPropertyGeneratorsForFlexibleServerOperatorSpec is a factory method for creating gopter generators func AddRelatedPropertyGeneratorsForFlexibleServerOperatorSpec(gens map[string]gopter.Gen) { + gens["ConfigMaps"] = gen.PtrOf(FlexibleServerOperatorConfigMapsGenerator()) gens["Secrets"] = gen.PtrOf(FlexibleServerOperatorSecretsGenerator()) } +func Test_HighAvailability_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HighAvailability to HighAvailability via AssignProperties_To_HighAvailability & AssignProperties_From_HighAvailability returns original", + prop.ForAll(RunPropertyAssignmentTestForHighAvailability, HighAvailabilityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHighAvailability tests if a specific instance of HighAvailability can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHighAvailability(subject HighAvailability) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.HighAvailability + err := copied.AssignProperties_To_HighAvailability(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HighAvailability + err = actual.AssignProperties_From_HighAvailability(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_HighAvailability_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -641,6 +1064,48 @@ func AddIndependentPropertyGeneratorsForHighAvailability(gens map[string]gopter. gens["StandbyAvailabilityZone"] = gen.PtrOf(gen.AlphaString()) } +func Test_HighAvailability_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HighAvailability_STATUS to HighAvailability_STATUS via AssignProperties_To_HighAvailability_STATUS & AssignProperties_From_HighAvailability_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForHighAvailability_STATUS, HighAvailability_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHighAvailability_STATUS tests if a specific instance of HighAvailability_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHighAvailability_STATUS(subject HighAvailability_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.HighAvailability_STATUS + err := copied.AssignProperties_To_HighAvailability_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HighAvailability_STATUS + err = actual.AssignProperties_From_HighAvailability_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_HighAvailability_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -704,6 +1169,48 @@ func AddIndependentPropertyGeneratorsForHighAvailability_STATUS(gens map[string] gens["State"] = gen.PtrOf(gen.AlphaString()) } +func Test_Identity_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Identity to MySQLServerIdentity via AssignProperties_To_MySQLServerIdentity & AssignProperties_From_MySQLServerIdentity returns original", + prop.ForAll(RunPropertyAssignmentTestForIdentity, IdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIdentity tests if a specific instance of Identity can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIdentity(subject Identity) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.MySQLServerIdentity + err := copied.AssignProperties_To_MySQLServerIdentity(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Identity + err = actual.AssignProperties_From_MySQLServerIdentity(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_Identity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -778,6 +1285,48 @@ func AddRelatedPropertyGeneratorsForIdentity(gens map[string]gopter.Gen) { gens["UserAssignedIdentities"] = gen.SliceOf(UserAssignedIdentityDetailsGenerator()) } +func Test_Identity_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Identity_STATUS to MySQLServerIdentity_STATUS via AssignProperties_To_MySQLServerIdentity_STATUS & AssignProperties_From_MySQLServerIdentity_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForIdentity_STATUS, Identity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForIdentity_STATUS tests if a specific instance of Identity_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForIdentity_STATUS(subject Identity_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.MySQLServerIdentity_STATUS + err := copied.AssignProperties_To_MySQLServerIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Identity_STATUS + err = actual.AssignProperties_From_MySQLServerIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_Identity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -840,6 +1389,48 @@ func AddIndependentPropertyGeneratorsForIdentity_STATUS(gens map[string]gopter.G gens["Type"] = gen.PtrOf(gen.AlphaString()) } +func Test_MaintenanceWindow_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from MaintenanceWindow to MaintenanceWindow via AssignProperties_To_MaintenanceWindow & AssignProperties_From_MaintenanceWindow returns original", + prop.ForAll(RunPropertyAssignmentTestForMaintenanceWindow, MaintenanceWindowGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMaintenanceWindow tests if a specific instance of MaintenanceWindow can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMaintenanceWindow(subject MaintenanceWindow) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.MaintenanceWindow + err := copied.AssignProperties_To_MaintenanceWindow(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual MaintenanceWindow + err = actual.AssignProperties_From_MaintenanceWindow(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_MaintenanceWindow_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -903,22 +1494,64 @@ func AddIndependentPropertyGeneratorsForMaintenanceWindow(gens map[string]gopter gens["StartMinute"] = gen.PtrOf(gen.Int()) } -func Test_MaintenanceWindow_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { +func Test_MaintenanceWindow_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() - parameters.MinSuccessfulTests = 80 - parameters.MaxSize = 3 + parameters.MaxSize = 10 properties := gopter.NewProperties(parameters) properties.Property( - "Round trip of MaintenanceWindow_STATUS via JSON returns original", - prop.ForAll(RunJSONSerializationTestForMaintenanceWindow_STATUS, MaintenanceWindow_STATUSGenerator())) - properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) + "Round trip from MaintenanceWindow_STATUS to MaintenanceWindow_STATUS via AssignProperties_To_MaintenanceWindow_STATUS & AssignProperties_From_MaintenanceWindow_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForMaintenanceWindow_STATUS, MaintenanceWindow_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) } -// RunJSONSerializationTestForMaintenanceWindow_STATUS runs a test to see if a specific instance of MaintenanceWindow_STATUS round trips to JSON and back losslessly -func RunJSONSerializationTestForMaintenanceWindow_STATUS(subject MaintenanceWindow_STATUS) string { - // Serialize to JSON - bin, err := json.Marshal(subject) +// RunPropertyAssignmentTestForMaintenanceWindow_STATUS tests if a specific instance of MaintenanceWindow_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMaintenanceWindow_STATUS(subject MaintenanceWindow_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.MaintenanceWindow_STATUS + err := copied.AssignProperties_To_MaintenanceWindow_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual MaintenanceWindow_STATUS + err = actual.AssignProperties_From_MaintenanceWindow_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_MaintenanceWindow_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceWindow_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceWindow_STATUS, MaintenanceWindow_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceWindow_STATUS runs a test to see if a specific instance of MaintenanceWindow_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceWindow_STATUS(subject MaintenanceWindow_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) if err != nil { return err.Error() } @@ -967,6 +1600,48 @@ func AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS(gens map[string gens["StartMinute"] = gen.PtrOf(gen.Int()) } +func Test_Network_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Network to Network via AssignProperties_To_Network & AssignProperties_From_Network returns original", + prop.ForAll(RunPropertyAssignmentTestForNetwork, NetworkGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNetwork tests if a specific instance of Network can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNetwork(subject Network) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.Network + err := copied.AssignProperties_To_Network(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Network + err = actual.AssignProperties_From_Network(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_Network_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1021,6 +1696,48 @@ func NetworkGenerator() gopter.Gen { return networkGenerator } +func Test_Network_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Network_STATUS to Network_STATUS via AssignProperties_To_Network_STATUS & AssignProperties_From_Network_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForNetwork_STATUS, Network_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNetwork_STATUS tests if a specific instance of Network_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNetwork_STATUS(subject Network_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.Network_STATUS + err := copied.AssignProperties_To_Network_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Network_STATUS + err = actual.AssignProperties_From_Network_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_Network_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1083,6 +1800,48 @@ func AddIndependentPropertyGeneratorsForNetwork_STATUS(gens map[string]gopter.Ge gens["PublicNetworkAccess"] = gen.PtrOf(gen.AlphaString()) } +func Test_Sku_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Sku to MySQLServerSku via AssignProperties_To_MySQLServerSku & AssignProperties_From_MySQLServerSku returns original", + prop.ForAll(RunPropertyAssignmentTestForSku, SkuGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSku tests if a specific instance of Sku can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSku(subject Sku) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.MySQLServerSku + err := copied.AssignProperties_To_MySQLServerSku(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Sku + err = actual.AssignProperties_From_MySQLServerSku(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_Sku_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1144,6 +1903,48 @@ func AddIndependentPropertyGeneratorsForSku(gens map[string]gopter.Gen) { gens["Tier"] = gen.PtrOf(gen.AlphaString()) } +func Test_Sku_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Sku_STATUS to MySQLServerSku_STATUS via AssignProperties_To_MySQLServerSku_STATUS & AssignProperties_From_MySQLServerSku_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForSku_STATUS, Sku_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSku_STATUS tests if a specific instance of Sku_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSku_STATUS(subject Sku_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.MySQLServerSku_STATUS + err := copied.AssignProperties_To_MySQLServerSku_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Sku_STATUS + err = actual.AssignProperties_From_MySQLServerSku_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_Sku_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1205,6 +2006,48 @@ func AddIndependentPropertyGeneratorsForSku_STATUS(gens map[string]gopter.Gen) { gens["Tier"] = gen.PtrOf(gen.AlphaString()) } +func Test_Storage_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Storage to Storage via AssignProperties_To_Storage & AssignProperties_From_Storage returns original", + prop.ForAll(RunPropertyAssignmentTestForStorage, StorageGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForStorage tests if a specific instance of Storage can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForStorage(subject Storage) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.Storage + err := copied.AssignProperties_To_Storage(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Storage + err = actual.AssignProperties_From_Storage(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_Storage_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1267,6 +2110,48 @@ func AddIndependentPropertyGeneratorsForStorage(gens map[string]gopter.Gen) { gens["StorageSizeGB"] = gen.PtrOf(gen.Int()) } +func Test_Storage_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Storage_STATUS to Storage_STATUS via AssignProperties_To_Storage_STATUS & AssignProperties_From_Storage_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForStorage_STATUS, Storage_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForStorage_STATUS tests if a specific instance of Storage_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForStorage_STATUS(subject Storage_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.Storage_STATUS + err := copied.AssignProperties_To_Storage_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Storage_STATUS + err = actual.AssignProperties_From_Storage_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_Storage_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1437,6 +2322,145 @@ func AddIndependentPropertyGeneratorsForSystemData_STATUS(gens map[string]gopter gens["LastModifiedByType"] = gen.PtrOf(gen.AlphaString()) } +func Test_FlexibleServerOperatorConfigMaps_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServerOperatorConfigMaps to FlexibleServerOperatorConfigMaps via AssignProperties_To_FlexibleServerOperatorConfigMaps & AssignProperties_From_FlexibleServerOperatorConfigMaps returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServerOperatorConfigMaps, FlexibleServerOperatorConfigMapsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServerOperatorConfigMaps tests if a specific instance of FlexibleServerOperatorConfigMaps can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServerOperatorConfigMaps(subject FlexibleServerOperatorConfigMaps) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServerOperatorConfigMaps + err := copied.AssignProperties_To_FlexibleServerOperatorConfigMaps(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServerOperatorConfigMaps + err = actual.AssignProperties_From_FlexibleServerOperatorConfigMaps(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServerOperatorConfigMaps_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServerOperatorConfigMaps via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServerOperatorConfigMaps, FlexibleServerOperatorConfigMapsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServerOperatorConfigMaps runs a test to see if a specific instance of FlexibleServerOperatorConfigMaps round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServerOperatorConfigMaps(subject FlexibleServerOperatorConfigMaps) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServerOperatorConfigMaps + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServerOperatorConfigMaps instances for property testing - lazily instantiated by +// FlexibleServerOperatorConfigMapsGenerator() +var flexibleServerOperatorConfigMapsGenerator gopter.Gen + +// FlexibleServerOperatorConfigMapsGenerator returns a generator of FlexibleServerOperatorConfigMaps instances for property testing. +func FlexibleServerOperatorConfigMapsGenerator() gopter.Gen { + if flexibleServerOperatorConfigMapsGenerator != nil { + return flexibleServerOperatorConfigMapsGenerator + } + + generators := make(map[string]gopter.Gen) + flexibleServerOperatorConfigMapsGenerator = gen.Struct(reflect.TypeOf(FlexibleServerOperatorConfigMaps{}), generators) + + return flexibleServerOperatorConfigMapsGenerator +} + +func Test_FlexibleServerOperatorSecrets_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServerOperatorSecrets to FlexibleServerOperatorSecrets via AssignProperties_To_FlexibleServerOperatorSecrets & AssignProperties_From_FlexibleServerOperatorSecrets returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServerOperatorSecrets, FlexibleServerOperatorSecretsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServerOperatorSecrets tests if a specific instance of FlexibleServerOperatorSecrets can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServerOperatorSecrets(subject FlexibleServerOperatorSecrets) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServerOperatorSecrets + err := copied.AssignProperties_To_FlexibleServerOperatorSecrets(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServerOperatorSecrets + err = actual.AssignProperties_From_FlexibleServerOperatorSecrets(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServerOperatorSecrets_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -1492,6 +2516,48 @@ func FlexibleServerOperatorSecretsGenerator() gopter.Gen { return flexibleServerOperatorSecretsGenerator } +func Test_UserAssignedIdentityDetails_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UserAssignedIdentityDetails to UserAssignedIdentityDetails via AssignProperties_To_UserAssignedIdentityDetails & AssignProperties_From_UserAssignedIdentityDetails returns original", + prop.ForAll(RunPropertyAssignmentTestForUserAssignedIdentityDetails, UserAssignedIdentityDetailsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUserAssignedIdentityDetails tests if a specific instance of UserAssignedIdentityDetails can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUserAssignedIdentityDetails(subject UserAssignedIdentityDetails) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.UserAssignedIdentityDetails + err := copied.AssignProperties_To_UserAssignedIdentityDetails(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UserAssignedIdentityDetails + err = actual.AssignProperties_From_UserAssignedIdentityDetails(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_UserAssignedIdentityDetails_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() diff --git a/v2/api/dbformysql/v1api20210501/storage/flexible_servers_database_types_gen.go b/v2/api/dbformysql/v1api20210501/storage/flexible_servers_database_types_gen.go index 15cc4856410..ec4c92cd54c 100644 --- a/v2/api/dbformysql/v1api20210501/storage/flexible_servers_database_types_gen.go +++ b/v2/api/dbformysql/v1api20210501/storage/flexible_servers_database_types_gen.go @@ -4,19 +4,19 @@ package storage import ( + "fmt" + v20220101s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20220101/storage" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" "github.com/pkg/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" ) -// +kubebuilder:rbac:groups=dbformysql.azure.com,resources=flexibleserversdatabases,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=dbformysql.azure.com,resources={flexibleserversdatabases/status,flexibleserversdatabases/finalizers},verbs=get;update;patch - // +kubebuilder:object:root=true // +kubebuilder:subresource:status -// +kubebuilder:storageversion // +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" // +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" @@ -44,6 +44,28 @@ func (database *FlexibleServersDatabase) SetConditions(conditions conditions.Con database.Status.Conditions = conditions } +var _ conversion.Convertible = &FlexibleServersDatabase{} + +// ConvertFrom populates our FlexibleServersDatabase from the provided hub FlexibleServersDatabase +func (database *FlexibleServersDatabase) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*v20230630s.FlexibleServersDatabase) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersDatabase but received %T instead", hub) + } + + return database.AssignProperties_From_FlexibleServersDatabase(source) +} + +// ConvertTo populates the provided hub FlexibleServersDatabase from our FlexibleServersDatabase +func (database *FlexibleServersDatabase) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*v20230630s.FlexibleServersDatabase) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersDatabase but received %T instead", hub) + } + + return database.AssignProperties_To_FlexibleServersDatabase(destination) +} + var _ genruntime.KubernetesResource = &FlexibleServersDatabase{} // AzureName returns the Azure name of the resource @@ -115,8 +137,75 @@ func (database *FlexibleServersDatabase) SetStatus(status genruntime.Convertible return nil } -// Hub marks that this FlexibleServersDatabase is the hub type for conversion -func (database *FlexibleServersDatabase) Hub() {} +// AssignProperties_From_FlexibleServersDatabase populates our FlexibleServersDatabase from the provided source FlexibleServersDatabase +func (database *FlexibleServersDatabase) AssignProperties_From_FlexibleServersDatabase(source *v20230630s.FlexibleServersDatabase) error { + + // ObjectMeta + database.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec FlexibleServers_Database_Spec + err := spec.AssignProperties_From_FlexibleServers_Database_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_Database_Spec() to populate field Spec") + } + database.Spec = spec + + // Status + var status FlexibleServers_Database_STATUS + err = status.AssignProperties_From_FlexibleServers_Database_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_Database_STATUS() to populate field Status") + } + database.Status = status + + // Invoke the augmentConversionForFlexibleServersDatabase interface (if implemented) to customize the conversion + var databaseAsAny any = database + if augmentedDatabase, ok := databaseAsAny.(augmentConversionForFlexibleServersDatabase); ok { + err := augmentedDatabase.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServersDatabase populates the provided destination FlexibleServersDatabase from our FlexibleServersDatabase +func (database *FlexibleServersDatabase) AssignProperties_To_FlexibleServersDatabase(destination *v20230630s.FlexibleServersDatabase) error { + + // ObjectMeta + destination.ObjectMeta = *database.ObjectMeta.DeepCopy() + + // Spec + var spec v20230630s.FlexibleServers_Database_Spec + err := database.Spec.AssignProperties_To_FlexibleServers_Database_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_Database_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status v20230630s.FlexibleServers_Database_STATUS + err = database.Status.AssignProperties_To_FlexibleServers_Database_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_Database_STATUS() to populate field Status") + } + destination.Status = status + + // Invoke the augmentConversionForFlexibleServersDatabase interface (if implemented) to customize the conversion + var databaseAsAny any = database + if augmentedDatabase, ok := databaseAsAny.(augmentConversionForFlexibleServersDatabase); ok { + err := augmentedDatabase.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} // OriginalGVK returns a GroupValueKind for the original API version used to create the resource func (database *FlexibleServersDatabase) OriginalGVK() *schema.GroupVersionKind { @@ -138,6 +227,11 @@ type FlexibleServersDatabaseList struct { Items []FlexibleServersDatabase `json:"items"` } +type augmentConversionForFlexibleServersDatabase interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServersDatabase) error + AssignPropertiesTo(dst *v20230630s.FlexibleServersDatabase) error +} + // Storage version of v1api20210501.FlexibleServers_Database_Spec type FlexibleServers_Database_Spec struct { // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it @@ -159,20 +253,140 @@ var _ genruntime.ConvertibleSpec = &FlexibleServers_Database_Spec{} // ConvertSpecFrom populates our FlexibleServers_Database_Spec from the provided source func (database *FlexibleServers_Database_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { - if source == database { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + src, ok := source.(*v20230630s.FlexibleServers_Database_Spec) + if ok { + // Populate our instance from source + return database.AssignProperties_From_FlexibleServers_Database_Spec(src) } - return source.ConvertSpecTo(database) + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_Database_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = database.AssignProperties_From_FlexibleServers_Database_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil } // ConvertSpecTo populates the provided destination from our FlexibleServers_Database_Spec func (database *FlexibleServers_Database_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { - if destination == database { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + dst, ok := destination.(*v20230630s.FlexibleServers_Database_Spec) + if ok { + // Populate destination from our instance + return database.AssignProperties_To_FlexibleServers_Database_Spec(dst) } - return destination.ConvertSpecFrom(database) + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_Database_Spec{} + err := database.AssignProperties_To_FlexibleServers_Database_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_FlexibleServers_Database_Spec populates our FlexibleServers_Database_Spec from the provided source FlexibleServers_Database_Spec +func (database *FlexibleServers_Database_Spec) AssignProperties_From_FlexibleServers_Database_Spec(source *v20230630s.FlexibleServers_Database_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AzureName + database.AzureName = source.AzureName + + // Charset + database.Charset = genruntime.ClonePointerToString(source.Charset) + + // Collation + database.Collation = genruntime.ClonePointerToString(source.Collation) + + // OriginalVersion + database.OriginalVersion = source.OriginalVersion + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + database.Owner = &owner + } else { + database.Owner = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + database.PropertyBag = propertyBag + } else { + database.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_Database_Spec interface (if implemented) to customize the conversion + var databaseAsAny any = database + if augmentedDatabase, ok := databaseAsAny.(augmentConversionForFlexibleServers_Database_Spec); ok { + err := augmentedDatabase.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_Database_Spec populates the provided destination FlexibleServers_Database_Spec from our FlexibleServers_Database_Spec +func (database *FlexibleServers_Database_Spec) AssignProperties_To_FlexibleServers_Database_Spec(destination *v20230630s.FlexibleServers_Database_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(database.PropertyBag) + + // AzureName + destination.AzureName = database.AzureName + + // Charset + destination.Charset = genruntime.ClonePointerToString(database.Charset) + + // Collation + destination.Collation = genruntime.ClonePointerToString(database.Collation) + + // OriginalVersion + destination.OriginalVersion = database.OriginalVersion + + // Owner + if database.Owner != nil { + owner := database.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_Database_Spec interface (if implemented) to customize the conversion + var databaseAsAny any = database + if augmentedDatabase, ok := databaseAsAny.(augmentConversionForFlexibleServers_Database_Spec); ok { + err := augmentedDatabase.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } // Storage version of v1api20210501.FlexibleServers_Database_STATUS @@ -191,20 +405,180 @@ var _ genruntime.ConvertibleStatus = &FlexibleServers_Database_STATUS{} // ConvertStatusFrom populates our FlexibleServers_Database_STATUS from the provided source func (database *FlexibleServers_Database_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { - if source == database { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + src, ok := source.(*v20230630s.FlexibleServers_Database_STATUS) + if ok { + // Populate our instance from source + return database.AssignProperties_From_FlexibleServers_Database_STATUS(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_Database_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") } - return source.ConvertStatusTo(database) + // Update our instance from src + err = database.AssignProperties_From_FlexibleServers_Database_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil } // ConvertStatusTo populates the provided destination from our FlexibleServers_Database_STATUS func (database *FlexibleServers_Database_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { - if destination == database { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + dst, ok := destination.(*v20230630s.FlexibleServers_Database_STATUS) + if ok { + // Populate destination from our instance + return database.AssignProperties_To_FlexibleServers_Database_STATUS(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_Database_STATUS{} + err := database.AssignProperties_To_FlexibleServers_Database_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") } - return destination.ConvertStatusFrom(database) + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +// AssignProperties_From_FlexibleServers_Database_STATUS populates our FlexibleServers_Database_STATUS from the provided source FlexibleServers_Database_STATUS +func (database *FlexibleServers_Database_STATUS) AssignProperties_From_FlexibleServers_Database_STATUS(source *v20230630s.FlexibleServers_Database_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Charset + database.Charset = genruntime.ClonePointerToString(source.Charset) + + // Collation + database.Collation = genruntime.ClonePointerToString(source.Collation) + + // Conditions + database.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // Id + database.Id = genruntime.ClonePointerToString(source.Id) + + // Name + database.Name = genruntime.ClonePointerToString(source.Name) + + // SystemData + if source.SystemData != nil { + var systemDataSTATUSStash v20220101s.SystemData_STATUS + err := systemDataSTATUSStash.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData_STATUSStash from SystemData") + } + var systemDatum SystemData_STATUS + err = systemDatum.AssignProperties_From_SystemData_STATUS(&systemDataSTATUSStash) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData from SystemData_STATUSStash") + } + database.SystemData = &systemDatum + } else { + database.SystemData = nil + } + + // Type + database.Type = genruntime.ClonePointerToString(source.Type) + + // Update the property bag + if len(propertyBag) > 0 { + database.PropertyBag = propertyBag + } else { + database.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_Database_STATUS interface (if implemented) to customize the conversion + var databaseAsAny any = database + if augmentedDatabase, ok := databaseAsAny.(augmentConversionForFlexibleServers_Database_STATUS); ok { + err := augmentedDatabase.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_Database_STATUS populates the provided destination FlexibleServers_Database_STATUS from our FlexibleServers_Database_STATUS +func (database *FlexibleServers_Database_STATUS) AssignProperties_To_FlexibleServers_Database_STATUS(destination *v20230630s.FlexibleServers_Database_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(database.PropertyBag) + + // Charset + destination.Charset = genruntime.ClonePointerToString(database.Charset) + + // Collation + destination.Collation = genruntime.ClonePointerToString(database.Collation) + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(database.Conditions) + + // Id + destination.Id = genruntime.ClonePointerToString(database.Id) + + // Name + destination.Name = genruntime.ClonePointerToString(database.Name) + + // SystemData + if database.SystemData != nil { + var systemDataSTATUSStash v20220101s.SystemData_STATUS + err := database.SystemData.AssignProperties_To_SystemData_STATUS(&systemDataSTATUSStash) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData_STATUSStash from SystemData") + } + var systemDatum v20230630s.SystemData_STATUS + err = systemDataSTATUSStash.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData from SystemData_STATUSStash") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(database.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_Database_STATUS interface (if implemented) to customize the conversion + var databaseAsAny any = database + if augmentedDatabase, ok := databaseAsAny.(augmentConversionForFlexibleServers_Database_STATUS); ok { + err := augmentedDatabase.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForFlexibleServers_Database_Spec interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServers_Database_Spec) error + AssignPropertiesTo(dst *v20230630s.FlexibleServers_Database_Spec) error +} + +type augmentConversionForFlexibleServers_Database_STATUS interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServers_Database_STATUS) error + AssignPropertiesTo(dst *v20230630s.FlexibleServers_Database_STATUS) error } func init() { diff --git a/v2/api/dbformysql/v1api20210501/storage/flexible_servers_database_types_gen_test.go b/v2/api/dbformysql/v1api20210501/storage/flexible_servers_database_types_gen_test.go index fc5d2f5bb92..2e7f419f6e6 100644 --- a/v2/api/dbformysql/v1api20210501/storage/flexible_servers_database_types_gen_test.go +++ b/v2/api/dbformysql/v1api20210501/storage/flexible_servers_database_types_gen_test.go @@ -5,6 +5,7 @@ package storage import ( "encoding/json" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -17,6 +18,91 @@ import ( "testing" ) +func Test_FlexibleServersDatabase_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersDatabase to hub returns original", + prop.ForAll(RunResourceConversionTestForFlexibleServersDatabase, FlexibleServersDatabaseGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForFlexibleServersDatabase tests if a specific instance of FlexibleServersDatabase round trips to the hub storage version and back losslessly +func RunResourceConversionTestForFlexibleServersDatabase(subject FlexibleServersDatabase) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub v20230630s.FlexibleServersDatabase + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual FlexibleServersDatabase + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServersDatabase_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersDatabase to FlexibleServersDatabase via AssignProperties_To_FlexibleServersDatabase & AssignProperties_From_FlexibleServersDatabase returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServersDatabase, FlexibleServersDatabaseGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServersDatabase tests if a specific instance of FlexibleServersDatabase can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServersDatabase(subject FlexibleServersDatabase) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServersDatabase + err := copied.AssignProperties_To_FlexibleServersDatabase(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServersDatabase + err = actual.AssignProperties_From_FlexibleServersDatabase(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServersDatabase_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -79,6 +165,48 @@ func AddRelatedPropertyGeneratorsForFlexibleServersDatabase(gens map[string]gopt gens["Status"] = FlexibleServers_Database_STATUSGenerator() } +func Test_FlexibleServers_Database_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_Database_Spec to FlexibleServers_Database_Spec via AssignProperties_To_FlexibleServers_Database_Spec & AssignProperties_From_FlexibleServers_Database_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_Database_Spec, FlexibleServers_Database_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_Database_Spec tests if a specific instance of FlexibleServers_Database_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_Database_Spec(subject FlexibleServers_Database_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_Database_Spec + err := copied.AssignProperties_To_FlexibleServers_Database_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_Database_Spec + err = actual.AssignProperties_From_FlexibleServers_Database_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServers_Database_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -143,6 +271,48 @@ func AddIndependentPropertyGeneratorsForFlexibleServers_Database_Spec(gens map[s gens["OriginalVersion"] = gen.AlphaString() } +func Test_FlexibleServers_Database_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_Database_STATUS to FlexibleServers_Database_STATUS via AssignProperties_To_FlexibleServers_Database_STATUS & AssignProperties_From_FlexibleServers_Database_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_Database_STATUS, FlexibleServers_Database_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_Database_STATUS tests if a specific instance of FlexibleServers_Database_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_Database_STATUS(subject FlexibleServers_Database_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_Database_STATUS + err := copied.AssignProperties_To_FlexibleServers_Database_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_Database_STATUS + err = actual.AssignProperties_From_FlexibleServers_Database_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServers_Database_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() diff --git a/v2/api/dbformysql/v1api20210501/storage/flexible_servers_firewall_rule_types_gen.go b/v2/api/dbformysql/v1api20210501/storage/flexible_servers_firewall_rule_types_gen.go index 292cd2532ec..b88a074cbad 100644 --- a/v2/api/dbformysql/v1api20210501/storage/flexible_servers_firewall_rule_types_gen.go +++ b/v2/api/dbformysql/v1api20210501/storage/flexible_servers_firewall_rule_types_gen.go @@ -4,19 +4,19 @@ package storage import ( + "fmt" + v20220101s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20220101/storage" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" "github.com/pkg/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" ) -// +kubebuilder:rbac:groups=dbformysql.azure.com,resources=flexibleserversfirewallrules,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=dbformysql.azure.com,resources={flexibleserversfirewallrules/status,flexibleserversfirewallrules/finalizers},verbs=get;update;patch - // +kubebuilder:object:root=true // +kubebuilder:subresource:status -// +kubebuilder:storageversion // +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" // +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" @@ -44,6 +44,28 @@ func (rule *FlexibleServersFirewallRule) SetConditions(conditions conditions.Con rule.Status.Conditions = conditions } +var _ conversion.Convertible = &FlexibleServersFirewallRule{} + +// ConvertFrom populates our FlexibleServersFirewallRule from the provided hub FlexibleServersFirewallRule +func (rule *FlexibleServersFirewallRule) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*v20230630s.FlexibleServersFirewallRule) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersFirewallRule but received %T instead", hub) + } + + return rule.AssignProperties_From_FlexibleServersFirewallRule(source) +} + +// ConvertTo populates the provided hub FlexibleServersFirewallRule from our FlexibleServersFirewallRule +func (rule *FlexibleServersFirewallRule) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*v20230630s.FlexibleServersFirewallRule) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersFirewallRule but received %T instead", hub) + } + + return rule.AssignProperties_To_FlexibleServersFirewallRule(destination) +} + var _ genruntime.KubernetesResource = &FlexibleServersFirewallRule{} // AzureName returns the Azure name of the resource @@ -115,8 +137,75 @@ func (rule *FlexibleServersFirewallRule) SetStatus(status genruntime.Convertible return nil } -// Hub marks that this FlexibleServersFirewallRule is the hub type for conversion -func (rule *FlexibleServersFirewallRule) Hub() {} +// AssignProperties_From_FlexibleServersFirewallRule populates our FlexibleServersFirewallRule from the provided source FlexibleServersFirewallRule +func (rule *FlexibleServersFirewallRule) AssignProperties_From_FlexibleServersFirewallRule(source *v20230630s.FlexibleServersFirewallRule) error { + + // ObjectMeta + rule.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec FlexibleServers_FirewallRule_Spec + err := spec.AssignProperties_From_FlexibleServers_FirewallRule_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_FirewallRule_Spec() to populate field Spec") + } + rule.Spec = spec + + // Status + var status FlexibleServers_FirewallRule_STATUS + err = status.AssignProperties_From_FlexibleServers_FirewallRule_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_FirewallRule_STATUS() to populate field Status") + } + rule.Status = status + + // Invoke the augmentConversionForFlexibleServersFirewallRule interface (if implemented) to customize the conversion + var ruleAsAny any = rule + if augmentedRule, ok := ruleAsAny.(augmentConversionForFlexibleServersFirewallRule); ok { + err := augmentedRule.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServersFirewallRule populates the provided destination FlexibleServersFirewallRule from our FlexibleServersFirewallRule +func (rule *FlexibleServersFirewallRule) AssignProperties_To_FlexibleServersFirewallRule(destination *v20230630s.FlexibleServersFirewallRule) error { + + // ObjectMeta + destination.ObjectMeta = *rule.ObjectMeta.DeepCopy() + + // Spec + var spec v20230630s.FlexibleServers_FirewallRule_Spec + err := rule.Spec.AssignProperties_To_FlexibleServers_FirewallRule_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_FirewallRule_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status v20230630s.FlexibleServers_FirewallRule_STATUS + err = rule.Status.AssignProperties_To_FlexibleServers_FirewallRule_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_FirewallRule_STATUS() to populate field Status") + } + destination.Status = status + + // Invoke the augmentConversionForFlexibleServersFirewallRule interface (if implemented) to customize the conversion + var ruleAsAny any = rule + if augmentedRule, ok := ruleAsAny.(augmentConversionForFlexibleServersFirewallRule); ok { + err := augmentedRule.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} // OriginalGVK returns a GroupValueKind for the original API version used to create the resource func (rule *FlexibleServersFirewallRule) OriginalGVK() *schema.GroupVersionKind { @@ -138,6 +227,11 @@ type FlexibleServersFirewallRuleList struct { Items []FlexibleServersFirewallRule `json:"items"` } +type augmentConversionForFlexibleServersFirewallRule interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServersFirewallRule) error + AssignPropertiesTo(dst *v20230630s.FlexibleServersFirewallRule) error +} + // Storage version of v1api20210501.FlexibleServers_FirewallRule_Spec type FlexibleServers_FirewallRule_Spec struct { // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it @@ -159,20 +253,140 @@ var _ genruntime.ConvertibleSpec = &FlexibleServers_FirewallRule_Spec{} // ConvertSpecFrom populates our FlexibleServers_FirewallRule_Spec from the provided source func (rule *FlexibleServers_FirewallRule_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { - if source == rule { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + src, ok := source.(*v20230630s.FlexibleServers_FirewallRule_Spec) + if ok { + // Populate our instance from source + return rule.AssignProperties_From_FlexibleServers_FirewallRule_Spec(src) } - return source.ConvertSpecTo(rule) + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_FirewallRule_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = rule.AssignProperties_From_FlexibleServers_FirewallRule_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil } // ConvertSpecTo populates the provided destination from our FlexibleServers_FirewallRule_Spec func (rule *FlexibleServers_FirewallRule_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { - if destination == rule { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + dst, ok := destination.(*v20230630s.FlexibleServers_FirewallRule_Spec) + if ok { + // Populate destination from our instance + return rule.AssignProperties_To_FlexibleServers_FirewallRule_Spec(dst) } - return destination.ConvertSpecFrom(rule) + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_FirewallRule_Spec{} + err := rule.AssignProperties_To_FlexibleServers_FirewallRule_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_FlexibleServers_FirewallRule_Spec populates our FlexibleServers_FirewallRule_Spec from the provided source FlexibleServers_FirewallRule_Spec +func (rule *FlexibleServers_FirewallRule_Spec) AssignProperties_From_FlexibleServers_FirewallRule_Spec(source *v20230630s.FlexibleServers_FirewallRule_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AzureName + rule.AzureName = source.AzureName + + // EndIpAddress + rule.EndIpAddress = genruntime.ClonePointerToString(source.EndIpAddress) + + // OriginalVersion + rule.OriginalVersion = source.OriginalVersion + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + rule.Owner = &owner + } else { + rule.Owner = nil + } + + // StartIpAddress + rule.StartIpAddress = genruntime.ClonePointerToString(source.StartIpAddress) + + // Update the property bag + if len(propertyBag) > 0 { + rule.PropertyBag = propertyBag + } else { + rule.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_FirewallRule_Spec interface (if implemented) to customize the conversion + var ruleAsAny any = rule + if augmentedRule, ok := ruleAsAny.(augmentConversionForFlexibleServers_FirewallRule_Spec); ok { + err := augmentedRule.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_FirewallRule_Spec populates the provided destination FlexibleServers_FirewallRule_Spec from our FlexibleServers_FirewallRule_Spec +func (rule *FlexibleServers_FirewallRule_Spec) AssignProperties_To_FlexibleServers_FirewallRule_Spec(destination *v20230630s.FlexibleServers_FirewallRule_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(rule.PropertyBag) + + // AzureName + destination.AzureName = rule.AzureName + + // EndIpAddress + destination.EndIpAddress = genruntime.ClonePointerToString(rule.EndIpAddress) + + // OriginalVersion + destination.OriginalVersion = rule.OriginalVersion + + // Owner + if rule.Owner != nil { + owner := rule.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // StartIpAddress + destination.StartIpAddress = genruntime.ClonePointerToString(rule.StartIpAddress) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_FirewallRule_Spec interface (if implemented) to customize the conversion + var ruleAsAny any = rule + if augmentedRule, ok := ruleAsAny.(augmentConversionForFlexibleServers_FirewallRule_Spec); ok { + err := augmentedRule.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } // Storage version of v1api20210501.FlexibleServers_FirewallRule_STATUS @@ -191,20 +405,180 @@ var _ genruntime.ConvertibleStatus = &FlexibleServers_FirewallRule_STATUS{} // ConvertStatusFrom populates our FlexibleServers_FirewallRule_STATUS from the provided source func (rule *FlexibleServers_FirewallRule_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { - if source == rule { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + src, ok := source.(*v20230630s.FlexibleServers_FirewallRule_STATUS) + if ok { + // Populate our instance from source + return rule.AssignProperties_From_FlexibleServers_FirewallRule_STATUS(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_FirewallRule_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") } - return source.ConvertStatusTo(rule) + // Update our instance from src + err = rule.AssignProperties_From_FlexibleServers_FirewallRule_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil } // ConvertStatusTo populates the provided destination from our FlexibleServers_FirewallRule_STATUS func (rule *FlexibleServers_FirewallRule_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { - if destination == rule { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + dst, ok := destination.(*v20230630s.FlexibleServers_FirewallRule_STATUS) + if ok { + // Populate destination from our instance + return rule.AssignProperties_To_FlexibleServers_FirewallRule_STATUS(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_FirewallRule_STATUS{} + err := rule.AssignProperties_To_FlexibleServers_FirewallRule_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") } - return destination.ConvertStatusFrom(rule) + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +// AssignProperties_From_FlexibleServers_FirewallRule_STATUS populates our FlexibleServers_FirewallRule_STATUS from the provided source FlexibleServers_FirewallRule_STATUS +func (rule *FlexibleServers_FirewallRule_STATUS) AssignProperties_From_FlexibleServers_FirewallRule_STATUS(source *v20230630s.FlexibleServers_FirewallRule_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // Conditions + rule.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // EndIpAddress + rule.EndIpAddress = genruntime.ClonePointerToString(source.EndIpAddress) + + // Id + rule.Id = genruntime.ClonePointerToString(source.Id) + + // Name + rule.Name = genruntime.ClonePointerToString(source.Name) + + // StartIpAddress + rule.StartIpAddress = genruntime.ClonePointerToString(source.StartIpAddress) + + // SystemData + if source.SystemData != nil { + var systemDataSTATUSStash v20220101s.SystemData_STATUS + err := systemDataSTATUSStash.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData_STATUSStash from SystemData") + } + var systemDatum SystemData_STATUS + err = systemDatum.AssignProperties_From_SystemData_STATUS(&systemDataSTATUSStash) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData from SystemData_STATUSStash") + } + rule.SystemData = &systemDatum + } else { + rule.SystemData = nil + } + + // Type + rule.Type = genruntime.ClonePointerToString(source.Type) + + // Update the property bag + if len(propertyBag) > 0 { + rule.PropertyBag = propertyBag + } else { + rule.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_FirewallRule_STATUS interface (if implemented) to customize the conversion + var ruleAsAny any = rule + if augmentedRule, ok := ruleAsAny.(augmentConversionForFlexibleServers_FirewallRule_STATUS); ok { + err := augmentedRule.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_FirewallRule_STATUS populates the provided destination FlexibleServers_FirewallRule_STATUS from our FlexibleServers_FirewallRule_STATUS +func (rule *FlexibleServers_FirewallRule_STATUS) AssignProperties_To_FlexibleServers_FirewallRule_STATUS(destination *v20230630s.FlexibleServers_FirewallRule_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(rule.PropertyBag) + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(rule.Conditions) + + // EndIpAddress + destination.EndIpAddress = genruntime.ClonePointerToString(rule.EndIpAddress) + + // Id + destination.Id = genruntime.ClonePointerToString(rule.Id) + + // Name + destination.Name = genruntime.ClonePointerToString(rule.Name) + + // StartIpAddress + destination.StartIpAddress = genruntime.ClonePointerToString(rule.StartIpAddress) + + // SystemData + if rule.SystemData != nil { + var systemDataSTATUSStash v20220101s.SystemData_STATUS + err := rule.SystemData.AssignProperties_To_SystemData_STATUS(&systemDataSTATUSStash) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData_STATUSStash from SystemData") + } + var systemDatum v20230630s.SystemData_STATUS + err = systemDataSTATUSStash.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData from SystemData_STATUSStash") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(rule.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_FirewallRule_STATUS interface (if implemented) to customize the conversion + var ruleAsAny any = rule + if augmentedRule, ok := ruleAsAny.(augmentConversionForFlexibleServers_FirewallRule_STATUS); ok { + err := augmentedRule.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForFlexibleServers_FirewallRule_Spec interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServers_FirewallRule_Spec) error + AssignPropertiesTo(dst *v20230630s.FlexibleServers_FirewallRule_Spec) error +} + +type augmentConversionForFlexibleServers_FirewallRule_STATUS interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServers_FirewallRule_STATUS) error + AssignPropertiesTo(dst *v20230630s.FlexibleServers_FirewallRule_STATUS) error } func init() { diff --git a/v2/api/dbformysql/v1api20210501/storage/flexible_servers_firewall_rule_types_gen_test.go b/v2/api/dbformysql/v1api20210501/storage/flexible_servers_firewall_rule_types_gen_test.go index 763ef82f072..538c9523fdd 100644 --- a/v2/api/dbformysql/v1api20210501/storage/flexible_servers_firewall_rule_types_gen_test.go +++ b/v2/api/dbformysql/v1api20210501/storage/flexible_servers_firewall_rule_types_gen_test.go @@ -5,6 +5,7 @@ package storage import ( "encoding/json" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -17,6 +18,91 @@ import ( "testing" ) +func Test_FlexibleServersFirewallRule_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersFirewallRule to hub returns original", + prop.ForAll(RunResourceConversionTestForFlexibleServersFirewallRule, FlexibleServersFirewallRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForFlexibleServersFirewallRule tests if a specific instance of FlexibleServersFirewallRule round trips to the hub storage version and back losslessly +func RunResourceConversionTestForFlexibleServersFirewallRule(subject FlexibleServersFirewallRule) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub v20230630s.FlexibleServersFirewallRule + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual FlexibleServersFirewallRule + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServersFirewallRule_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersFirewallRule to FlexibleServersFirewallRule via AssignProperties_To_FlexibleServersFirewallRule & AssignProperties_From_FlexibleServersFirewallRule returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServersFirewallRule, FlexibleServersFirewallRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServersFirewallRule tests if a specific instance of FlexibleServersFirewallRule can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServersFirewallRule(subject FlexibleServersFirewallRule) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServersFirewallRule + err := copied.AssignProperties_To_FlexibleServersFirewallRule(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServersFirewallRule + err = actual.AssignProperties_From_FlexibleServersFirewallRule(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServersFirewallRule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -79,6 +165,48 @@ func AddRelatedPropertyGeneratorsForFlexibleServersFirewallRule(gens map[string] gens["Status"] = FlexibleServers_FirewallRule_STATUSGenerator() } +func Test_FlexibleServers_FirewallRule_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_FirewallRule_Spec to FlexibleServers_FirewallRule_Spec via AssignProperties_To_FlexibleServers_FirewallRule_Spec & AssignProperties_From_FlexibleServers_FirewallRule_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_FirewallRule_Spec, FlexibleServers_FirewallRule_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_FirewallRule_Spec tests if a specific instance of FlexibleServers_FirewallRule_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_FirewallRule_Spec(subject FlexibleServers_FirewallRule_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_FirewallRule_Spec + err := copied.AssignProperties_To_FlexibleServers_FirewallRule_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_FirewallRule_Spec + err = actual.AssignProperties_From_FlexibleServers_FirewallRule_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServers_FirewallRule_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -143,6 +271,48 @@ func AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_Spec(gens m gens["StartIpAddress"] = gen.PtrOf(gen.AlphaString()) } +func Test_FlexibleServers_FirewallRule_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_FirewallRule_STATUS to FlexibleServers_FirewallRule_STATUS via AssignProperties_To_FlexibleServers_FirewallRule_STATUS & AssignProperties_From_FlexibleServers_FirewallRule_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_FirewallRule_STATUS, FlexibleServers_FirewallRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_FirewallRule_STATUS tests if a specific instance of FlexibleServers_FirewallRule_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_FirewallRule_STATUS(subject FlexibleServers_FirewallRule_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_FirewallRule_STATUS + err := copied.AssignProperties_To_FlexibleServers_FirewallRule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_FirewallRule_STATUS + err = actual.AssignProperties_From_FlexibleServers_FirewallRule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServers_FirewallRule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() diff --git a/v2/api/dbformysql/v1api20210501/storage/structure.txt b/v2/api/dbformysql/v1api20210501/storage/structure.txt index 2e8732826fe..488202124b5 100644 --- a/v2/api/dbformysql/v1api20210501/storage/structure.txt +++ b/v2/api/dbformysql/v1api20210501/storage/structure.txt @@ -42,7 +42,11 @@ github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501/storage │ │ │ ├── DelegatedSubnetResourceReference: *genruntime.ResourceReference │ │ │ ├── PrivateDnsZoneResourceReference: *genruntime.ResourceReference │ │ │ └── PropertyBag: genruntime.PropertyBag -│ │ ├── OperatorSpec: *Object (2 properties) +│ │ ├── OperatorSpec: *Object (3 properties) +│ │ │ ├── ConfigMaps: *Object (3 properties) +│ │ │ │ ├── AdministratorLogin: *genruntime.ConfigMapDestination +│ │ │ │ ├── FullyQualifiedDomainName: *genruntime.ConfigMapDestination +│ │ │ │ └── PropertyBag: genruntime.PropertyBag │ │ │ ├── PropertyBag: genruntime.PropertyBag │ │ │ └── Secrets: *Object (2 properties) │ │ │ ├── FullyQualifiedDomainName: *genruntime.SecretDestination @@ -184,4 +188,33 @@ github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501/storage │ │ ├── LastModifiedByType: *string │ │ └── PropertyBag: genruntime.PropertyBag │ └── Type: *string -└── augmentConversionForSystemData_STATUS: Interface +├── augmentConversionForBackup: Interface +├── augmentConversionForBackup_STATUS: Interface +├── augmentConversionForDataEncryption: Interface +├── augmentConversionForDataEncryption_STATUS: Interface +├── augmentConversionForFlexibleServer: Interface +├── augmentConversionForFlexibleServerOperatorConfigMaps: Interface +├── augmentConversionForFlexibleServerOperatorSecrets: Interface +├── augmentConversionForFlexibleServerOperatorSpec: Interface +├── augmentConversionForFlexibleServer_STATUS: Interface +├── augmentConversionForFlexibleServer_Spec: Interface +├── augmentConversionForFlexibleServersDatabase: Interface +├── augmentConversionForFlexibleServersFirewallRule: Interface +├── augmentConversionForFlexibleServers_Database_STATUS: Interface +├── augmentConversionForFlexibleServers_Database_Spec: Interface +├── augmentConversionForFlexibleServers_FirewallRule_STATUS: Interface +├── augmentConversionForFlexibleServers_FirewallRule_Spec: Interface +├── augmentConversionForHighAvailability: Interface +├── augmentConversionForHighAvailability_STATUS: Interface +├── augmentConversionForIdentity: Interface +├── augmentConversionForIdentity_STATUS: Interface +├── augmentConversionForMaintenanceWindow: Interface +├── augmentConversionForMaintenanceWindow_STATUS: Interface +├── augmentConversionForNetwork: Interface +├── augmentConversionForNetwork_STATUS: Interface +├── augmentConversionForSku: Interface +├── augmentConversionForSku_STATUS: Interface +├── augmentConversionForStorage: Interface +├── augmentConversionForStorage_STATUS: Interface +├── augmentConversionForSystemData_STATUS: Interface +└── augmentConversionForUserAssignedIdentityDetails: Interface diff --git a/v2/api/dbformysql/v1api20210501/storage/zz_generated.deepcopy.go b/v2/api/dbformysql/v1api20210501/storage/zz_generated.deepcopy.go index 64a76f6f002..dc76826f1db 100644 --- a/v2/api/dbformysql/v1api20210501/storage/zz_generated.deepcopy.go +++ b/v2/api/dbformysql/v1api20210501/storage/zz_generated.deepcopy.go @@ -238,6 +238,38 @@ func (in *FlexibleServerList) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServerOperatorConfigMaps) DeepCopyInto(out *FlexibleServerOperatorConfigMaps) { + *out = *in + if in.AdministratorLogin != nil { + in, out := &in.AdministratorLogin, &out.AdministratorLogin + *out = new(genruntime.ConfigMapDestination) + **out = **in + } + if in.FullyQualifiedDomainName != nil { + in, out := &in.FullyQualifiedDomainName, &out.FullyQualifiedDomainName + *out = new(genruntime.ConfigMapDestination) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServerOperatorConfigMaps. +func (in *FlexibleServerOperatorConfigMaps) DeepCopy() *FlexibleServerOperatorConfigMaps { + if in == nil { + return nil + } + out := new(FlexibleServerOperatorConfigMaps) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FlexibleServerOperatorSecrets) DeepCopyInto(out *FlexibleServerOperatorSecrets) { *out = *in @@ -268,6 +300,11 @@ func (in *FlexibleServerOperatorSecrets) DeepCopy() *FlexibleServerOperatorSecre // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FlexibleServerOperatorSpec) DeepCopyInto(out *FlexibleServerOperatorSpec) { *out = *in + if in.ConfigMaps != nil { + in, out := &in.ConfigMaps, &out.ConfigMaps + *out = new(FlexibleServerOperatorConfigMaps) + (*in).DeepCopyInto(*out) + } if in.PropertyBag != nil { in, out := &in.PropertyBag, &out.PropertyBag *out = make(genruntime.PropertyBag, len(*in)) diff --git a/v2/api/dbformysql/v1api20210501/structure.txt b/v2/api/dbformysql/v1api20210501/structure.txt index c64d29ae6eb..f383500bbcf 100644 --- a/v2/api/dbformysql/v1api20210501/structure.txt +++ b/v2/api/dbformysql/v1api20210501/structure.txt @@ -47,7 +47,10 @@ github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501 │ │ ├── Network: *Object (2 properties) │ │ │ ├── DelegatedSubnetResourceReference: *genruntime.ResourceReference │ │ │ └── PrivateDnsZoneResourceReference: *genruntime.ResourceReference -│ │ ├── OperatorSpec: *Object (1 property) +│ │ ├── OperatorSpec: *Object (2 properties) +│ │ │ ├── ConfigMaps: *Object (2 properties) +│ │ │ │ ├── AdministratorLogin: *genruntime.ConfigMapDestination +│ │ │ │ └── FullyQualifiedDomainName: *genruntime.ConfigMapDestination │ │ │ └── Secrets: *Object (1 property) │ │ │ └── FullyQualifiedDomainName: *genruntime.SecretDestination │ │ ├── Owner: *genruntime.KnownResourceReference diff --git a/v2/api/dbformysql/v1api20210501/zz_generated.deepcopy.go b/v2/api/dbformysql/v1api20210501/zz_generated.deepcopy.go index 31adbc2c895..d4e90970632 100644 --- a/v2/api/dbformysql/v1api20210501/zz_generated.deepcopy.go +++ b/v2/api/dbformysql/v1api20210501/zz_generated.deepcopy.go @@ -445,6 +445,31 @@ func (in *FlexibleServerList) DeepCopyObject() runtime.Object { return nil } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServerOperatorConfigMaps) DeepCopyInto(out *FlexibleServerOperatorConfigMaps) { + *out = *in + if in.AdministratorLogin != nil { + in, out := &in.AdministratorLogin, &out.AdministratorLogin + *out = new(genruntime.ConfigMapDestination) + **out = **in + } + if in.FullyQualifiedDomainName != nil { + in, out := &in.FullyQualifiedDomainName, &out.FullyQualifiedDomainName + *out = new(genruntime.ConfigMapDestination) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServerOperatorConfigMaps. +func (in *FlexibleServerOperatorConfigMaps) DeepCopy() *FlexibleServerOperatorConfigMaps { + if in == nil { + return nil + } + out := new(FlexibleServerOperatorConfigMaps) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FlexibleServerOperatorSecrets) DeepCopyInto(out *FlexibleServerOperatorSecrets) { *out = *in @@ -468,6 +493,11 @@ func (in *FlexibleServerOperatorSecrets) DeepCopy() *FlexibleServerOperatorSecre // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *FlexibleServerOperatorSpec) DeepCopyInto(out *FlexibleServerOperatorSpec) { *out = *in + if in.ConfigMaps != nil { + in, out := &in.ConfigMaps, &out.ConfigMaps + *out = new(FlexibleServerOperatorConfigMaps) + (*in).DeepCopyInto(*out) + } if in.Secrets != nil { in, out := &in.Secrets, &out.Secrets *out = new(FlexibleServerOperatorSecrets) diff --git a/v2/api/dbformysql/v1api20220101/flexible_servers_administrator_types_gen.go b/v2/api/dbformysql/v1api20220101/flexible_servers_administrator_types_gen.go index 6c3faba2fca..7bb20a2d997 100644 --- a/v2/api/dbformysql/v1api20220101/flexible_servers_administrator_types_gen.go +++ b/v2/api/dbformysql/v1api20220101/flexible_servers_administrator_types_gen.go @@ -49,22 +49,36 @@ var _ conversion.Convertible = &FlexibleServersAdministrator{} // ConvertFrom populates our FlexibleServersAdministrator from the provided hub FlexibleServersAdministrator func (administrator *FlexibleServersAdministrator) ConvertFrom(hub conversion.Hub) error { - source, ok := hub.(*v20220101s.FlexibleServersAdministrator) - if !ok { - return fmt.Errorf("expected dbformysql/v1api20220101/storage/FlexibleServersAdministrator but received %T instead", hub) + // intermediate variable for conversion + var source v20220101s.FlexibleServersAdministrator + + err := source.ConvertFrom(hub) + if err != nil { + return errors.Wrap(err, "converting from hub to source") + } + + err = administrator.AssignProperties_From_FlexibleServersAdministrator(&source) + if err != nil { + return errors.Wrap(err, "converting from source to administrator") } - return administrator.AssignProperties_From_FlexibleServersAdministrator(source) + return nil } // ConvertTo populates the provided hub FlexibleServersAdministrator from our FlexibleServersAdministrator func (administrator *FlexibleServersAdministrator) ConvertTo(hub conversion.Hub) error { - destination, ok := hub.(*v20220101s.FlexibleServersAdministrator) - if !ok { - return fmt.Errorf("expected dbformysql/v1api20220101/storage/FlexibleServersAdministrator but received %T instead", hub) + // intermediate variable for conversion + var destination v20220101s.FlexibleServersAdministrator + err := administrator.AssignProperties_To_FlexibleServersAdministrator(&destination) + if err != nil { + return errors.Wrap(err, "converting to destination from administrator") + } + err = destination.ConvertTo(hub) + if err != nil { + return errors.Wrap(err, "converting from destination to hub") } - return administrator.AssignProperties_To_FlexibleServersAdministrator(destination) + return nil } // +kubebuilder:webhook:path=/mutate-dbformysql-azure-com-v1api20220101-flexibleserversadministrator,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=dbformysql.azure.com,resources=flexibleserversadministrators,verbs=create;update,versions=v1api20220101,name=default.v1api20220101.flexibleserversadministrators.dbformysql.azure.com,admissionReviewVersions=v1 @@ -83,17 +97,6 @@ func (administrator *FlexibleServersAdministrator) Default() { // defaultImpl applies the code generated defaults to the FlexibleServersAdministrator resource func (administrator *FlexibleServersAdministrator) defaultImpl() {} -var _ genruntime.ImportableResource = &FlexibleServersAdministrator{} - -// InitializeSpec initializes the spec for this resource from the given status -func (administrator *FlexibleServersAdministrator) InitializeSpec(status genruntime.ConvertibleStatus) error { - if s, ok := status.(*FlexibleServers_Administrator_STATUS); ok { - return administrator.Spec.Initialize_From_FlexibleServers_Administrator_STATUS(s) - } - - return fmt.Errorf("expected Status of type FlexibleServers_Administrator_STATUS but received %T instead", status) -} - var _ genruntime.KubernetesResource = &FlexibleServersAdministrator{} // AzureName returns the Azure name of the resource (always "ActiveDirectory") @@ -667,38 +670,6 @@ func (administrator *FlexibleServers_Administrator_Spec) AssignProperties_To_Fle return nil } -// Initialize_From_FlexibleServers_Administrator_STATUS populates our FlexibleServers_Administrator_Spec from the provided source FlexibleServers_Administrator_STATUS -func (administrator *FlexibleServers_Administrator_Spec) Initialize_From_FlexibleServers_Administrator_STATUS(source *FlexibleServers_Administrator_STATUS) error { - - // AdministratorType - if source.AdministratorType != nil { - administratorType := AdministratorProperties_AdministratorType(*source.AdministratorType) - administrator.AdministratorType = &administratorType - } else { - administrator.AdministratorType = nil - } - - // IdentityResourceReference - if source.IdentityResourceId != nil { - identityResourceReference := genruntime.CreateResourceReferenceFromARMID(*source.IdentityResourceId) - administrator.IdentityResourceReference = &identityResourceReference - } else { - administrator.IdentityResourceReference = nil - } - - // Login - administrator.Login = genruntime.ClonePointerToString(source.Login) - - // Sid - administrator.Sid = genruntime.ClonePointerToString(source.Sid) - - // TenantId - administrator.TenantId = genruntime.ClonePointerToString(source.TenantId) - - // No error - return nil -} - // OriginalVersion returns the original API version used to create the resource. func (administrator *FlexibleServers_Administrator_Spec) OriginalVersion() string { return GroupVersion.Version diff --git a/v2/api/dbformysql/v1api20220101/flexible_servers_administrator_types_gen_test.go b/v2/api/dbformysql/v1api20220101/flexible_servers_administrator_types_gen_test.go index c2bbb0ba887..4cf635fccd0 100644 --- a/v2/api/dbformysql/v1api20220101/flexible_servers_administrator_types_gen_test.go +++ b/v2/api/dbformysql/v1api20220101/flexible_servers_administrator_types_gen_test.go @@ -6,6 +6,7 @@ package v1api20220101 import ( "encoding/json" v20220101s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20220101/storage" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -36,7 +37,7 @@ func RunResourceConversionTestForFlexibleServersAdministrator(subject FlexibleSe copied := subject.DeepCopy() // Convert to our hub version - var hub v20220101s.FlexibleServersAdministrator + var hub v20230630s.FlexibleServersAdministrator err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/dbformysql/v1api20220101/flexible_servers_configuration_types_gen.go b/v2/api/dbformysql/v1api20220101/flexible_servers_configuration_types_gen.go index b12545e82da..afc136be8fb 100644 --- a/v2/api/dbformysql/v1api20220101/flexible_servers_configuration_types_gen.go +++ b/v2/api/dbformysql/v1api20220101/flexible_servers_configuration_types_gen.go @@ -49,22 +49,36 @@ var _ conversion.Convertible = &FlexibleServersConfiguration{} // ConvertFrom populates our FlexibleServersConfiguration from the provided hub FlexibleServersConfiguration func (configuration *FlexibleServersConfiguration) ConvertFrom(hub conversion.Hub) error { - source, ok := hub.(*v20220101s.FlexibleServersConfiguration) - if !ok { - return fmt.Errorf("expected dbformysql/v1api20220101/storage/FlexibleServersConfiguration but received %T instead", hub) + // intermediate variable for conversion + var source v20220101s.FlexibleServersConfiguration + + err := source.ConvertFrom(hub) + if err != nil { + return errors.Wrap(err, "converting from hub to source") } - return configuration.AssignProperties_From_FlexibleServersConfiguration(source) + err = configuration.AssignProperties_From_FlexibleServersConfiguration(&source) + if err != nil { + return errors.Wrap(err, "converting from source to configuration") + } + + return nil } // ConvertTo populates the provided hub FlexibleServersConfiguration from our FlexibleServersConfiguration func (configuration *FlexibleServersConfiguration) ConvertTo(hub conversion.Hub) error { - destination, ok := hub.(*v20220101s.FlexibleServersConfiguration) - if !ok { - return fmt.Errorf("expected dbformysql/v1api20220101/storage/FlexibleServersConfiguration but received %T instead", hub) + // intermediate variable for conversion + var destination v20220101s.FlexibleServersConfiguration + err := configuration.AssignProperties_To_FlexibleServersConfiguration(&destination) + if err != nil { + return errors.Wrap(err, "converting to destination from configuration") + } + err = destination.ConvertTo(hub) + if err != nil { + return errors.Wrap(err, "converting from destination to hub") } - return configuration.AssignProperties_To_FlexibleServersConfiguration(destination) + return nil } // +kubebuilder:webhook:path=/mutate-dbformysql-azure-com-v1api20220101-flexibleserversconfiguration,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=dbformysql.azure.com,resources=flexibleserversconfigurations,verbs=create;update,versions=v1api20220101,name=default.v1api20220101.flexibleserversconfigurations.dbformysql.azure.com,admissionReviewVersions=v1 @@ -90,17 +104,6 @@ func (configuration *FlexibleServersConfiguration) defaultAzureName() { // defaultImpl applies the code generated defaults to the FlexibleServersConfiguration resource func (configuration *FlexibleServersConfiguration) defaultImpl() { configuration.defaultAzureName() } -var _ genruntime.ImportableResource = &FlexibleServersConfiguration{} - -// InitializeSpec initializes the spec for this resource from the given status -func (configuration *FlexibleServersConfiguration) InitializeSpec(status genruntime.ConvertibleStatus) error { - if s, ok := status.(*FlexibleServers_Configuration_STATUS); ok { - return configuration.Spec.Initialize_From_FlexibleServers_Configuration_STATUS(s) - } - - return fmt.Errorf("expected Status of type FlexibleServers_Configuration_STATUS but received %T instead", status) -} - var _ genruntime.KubernetesResource = &FlexibleServersConfiguration{} // AzureName returns the Azure name of the resource @@ -557,27 +560,6 @@ func (configuration *FlexibleServers_Configuration_Spec) AssignProperties_To_Fle return nil } -// Initialize_From_FlexibleServers_Configuration_STATUS populates our FlexibleServers_Configuration_Spec from the provided source FlexibleServers_Configuration_STATUS -func (configuration *FlexibleServers_Configuration_Spec) Initialize_From_FlexibleServers_Configuration_STATUS(source *FlexibleServers_Configuration_STATUS) error { - - // CurrentValue - configuration.CurrentValue = genruntime.ClonePointerToString(source.CurrentValue) - - // Source - if source.Source != nil { - sourceAsConfigurationProperties_Source := ConfigurationProperties_Source(*source.Source) - configuration.Source = &sourceAsConfigurationProperties_Source - } else { - configuration.Source = nil - } - - // Value - configuration.Value = genruntime.ClonePointerToString(source.Value) - - // No error - return nil -} - // OriginalVersion returns the original API version used to create the resource. func (configuration *FlexibleServers_Configuration_Spec) OriginalVersion() string { return GroupVersion.Version diff --git a/v2/api/dbformysql/v1api20220101/flexible_servers_configuration_types_gen_test.go b/v2/api/dbformysql/v1api20220101/flexible_servers_configuration_types_gen_test.go index 0ab7e997634..caec0e2c8c2 100644 --- a/v2/api/dbformysql/v1api20220101/flexible_servers_configuration_types_gen_test.go +++ b/v2/api/dbformysql/v1api20220101/flexible_servers_configuration_types_gen_test.go @@ -6,6 +6,7 @@ package v1api20220101 import ( "encoding/json" v20220101s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20220101/storage" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -36,7 +37,7 @@ func RunResourceConversionTestForFlexibleServersConfiguration(subject FlexibleSe copied := subject.DeepCopy() // Convert to our hub version - var hub v20220101s.FlexibleServersConfiguration + var hub v20230630s.FlexibleServersConfiguration err := copied.ConvertTo(&hub) if err != nil { return err.Error() diff --git a/v2/api/dbformysql/v1api20220101/storage/flexible_servers_administrator_types_gen.go b/v2/api/dbformysql/v1api20220101/storage/flexible_servers_administrator_types_gen.go index 94d1f115394..bf7bd9efd9c 100644 --- a/v2/api/dbformysql/v1api20220101/storage/flexible_servers_administrator_types_gen.go +++ b/v2/api/dbformysql/v1api20220101/storage/flexible_servers_administrator_types_gen.go @@ -4,19 +4,18 @@ package storage import ( + "fmt" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" "github.com/pkg/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" ) -// +kubebuilder:rbac:groups=dbformysql.azure.com,resources=flexibleserversadministrators,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=dbformysql.azure.com,resources={flexibleserversadministrators/status,flexibleserversadministrators/finalizers},verbs=get;update;patch - // +kubebuilder:object:root=true // +kubebuilder:subresource:status -// +kubebuilder:storageversion // +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" // +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" @@ -44,6 +43,28 @@ func (administrator *FlexibleServersAdministrator) SetConditions(conditions cond administrator.Status.Conditions = conditions } +var _ conversion.Convertible = &FlexibleServersAdministrator{} + +// ConvertFrom populates our FlexibleServersAdministrator from the provided hub FlexibleServersAdministrator +func (administrator *FlexibleServersAdministrator) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*v20230630s.FlexibleServersAdministrator) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersAdministrator but received %T instead", hub) + } + + return administrator.AssignProperties_From_FlexibleServersAdministrator(source) +} + +// ConvertTo populates the provided hub FlexibleServersAdministrator from our FlexibleServersAdministrator +func (administrator *FlexibleServersAdministrator) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*v20230630s.FlexibleServersAdministrator) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersAdministrator but received %T instead", hub) + } + + return administrator.AssignProperties_To_FlexibleServersAdministrator(destination) +} + var _ genruntime.KubernetesResource = &FlexibleServersAdministrator{} // AzureName returns the Azure name of the resource (always "ActiveDirectory") @@ -115,8 +136,75 @@ func (administrator *FlexibleServersAdministrator) SetStatus(status genruntime.C return nil } -// Hub marks that this FlexibleServersAdministrator is the hub type for conversion -func (administrator *FlexibleServersAdministrator) Hub() {} +// AssignProperties_From_FlexibleServersAdministrator populates our FlexibleServersAdministrator from the provided source FlexibleServersAdministrator +func (administrator *FlexibleServersAdministrator) AssignProperties_From_FlexibleServersAdministrator(source *v20230630s.FlexibleServersAdministrator) error { + + // ObjectMeta + administrator.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec FlexibleServers_Administrator_Spec + err := spec.AssignProperties_From_FlexibleServers_Administrator_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_Administrator_Spec() to populate field Spec") + } + administrator.Spec = spec + + // Status + var status FlexibleServers_Administrator_STATUS + err = status.AssignProperties_From_FlexibleServers_Administrator_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_Administrator_STATUS() to populate field Status") + } + administrator.Status = status + + // Invoke the augmentConversionForFlexibleServersAdministrator interface (if implemented) to customize the conversion + var administratorAsAny any = administrator + if augmentedAdministrator, ok := administratorAsAny.(augmentConversionForFlexibleServersAdministrator); ok { + err := augmentedAdministrator.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServersAdministrator populates the provided destination FlexibleServersAdministrator from our FlexibleServersAdministrator +func (administrator *FlexibleServersAdministrator) AssignProperties_To_FlexibleServersAdministrator(destination *v20230630s.FlexibleServersAdministrator) error { + + // ObjectMeta + destination.ObjectMeta = *administrator.ObjectMeta.DeepCopy() + + // Spec + var spec v20230630s.FlexibleServers_Administrator_Spec + err := administrator.Spec.AssignProperties_To_FlexibleServers_Administrator_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_Administrator_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status v20230630s.FlexibleServers_Administrator_STATUS + err = administrator.Status.AssignProperties_To_FlexibleServers_Administrator_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_Administrator_STATUS() to populate field Status") + } + destination.Status = status + + // Invoke the augmentConversionForFlexibleServersAdministrator interface (if implemented) to customize the conversion + var administratorAsAny any = administrator + if augmentedAdministrator, ok := administratorAsAny.(augmentConversionForFlexibleServersAdministrator); ok { + err := augmentedAdministrator.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} // OriginalGVK returns a GroupValueKind for the original API version used to create the resource func (administrator *FlexibleServersAdministrator) OriginalGVK() *schema.GroupVersionKind { @@ -144,6 +232,11 @@ type APIVersion string const APIVersion_Value = APIVersion("2022-01-01") +type augmentConversionForFlexibleServersAdministrator interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServersAdministrator) error + AssignPropertiesTo(dst *v20230630s.FlexibleServersAdministrator) error +} + // Storage version of v1api20220101.FlexibleServers_Administrator_Spec type FlexibleServers_Administrator_Spec struct { AdministratorType *string `json:"administratorType,omitempty"` @@ -169,20 +262,194 @@ var _ genruntime.ConvertibleSpec = &FlexibleServers_Administrator_Spec{} // ConvertSpecFrom populates our FlexibleServers_Administrator_Spec from the provided source func (administrator *FlexibleServers_Administrator_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { - if source == administrator { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + src, ok := source.(*v20230630s.FlexibleServers_Administrator_Spec) + if ok { + // Populate our instance from source + return administrator.AssignProperties_From_FlexibleServers_Administrator_Spec(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_Administrator_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") } - return source.ConvertSpecTo(administrator) + // Update our instance from src + err = administrator.AssignProperties_From_FlexibleServers_Administrator_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil } // ConvertSpecTo populates the provided destination from our FlexibleServers_Administrator_Spec func (administrator *FlexibleServers_Administrator_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { - if destination == administrator { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + dst, ok := destination.(*v20230630s.FlexibleServers_Administrator_Spec) + if ok { + // Populate destination from our instance + return administrator.AssignProperties_To_FlexibleServers_Administrator_Spec(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_Administrator_Spec{} + err := administrator.AssignProperties_To_FlexibleServers_Administrator_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") } - return destination.ConvertSpecFrom(administrator) + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_FlexibleServers_Administrator_Spec populates our FlexibleServers_Administrator_Spec from the provided source FlexibleServers_Administrator_Spec +func (administrator *FlexibleServers_Administrator_Spec) AssignProperties_From_FlexibleServers_Administrator_Spec(source *v20230630s.FlexibleServers_Administrator_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AdministratorType + administrator.AdministratorType = genruntime.ClonePointerToString(source.AdministratorType) + + // IdentityResourceReference + if source.IdentityResourceReference != nil { + identityResourceReference := source.IdentityResourceReference.Copy() + administrator.IdentityResourceReference = &identityResourceReference + } else { + administrator.IdentityResourceReference = nil + } + + // Login + administrator.Login = genruntime.ClonePointerToString(source.Login) + + // OriginalVersion + administrator.OriginalVersion = source.OriginalVersion + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + administrator.Owner = &owner + } else { + administrator.Owner = nil + } + + // Sid + administrator.Sid = genruntime.ClonePointerToString(source.Sid) + + // SidFromConfig + if source.SidFromConfig != nil { + sidFromConfig := source.SidFromConfig.Copy() + administrator.SidFromConfig = &sidFromConfig + } else { + administrator.SidFromConfig = nil + } + + // TenantId + administrator.TenantId = genruntime.ClonePointerToString(source.TenantId) + + // TenantIdFromConfig + if source.TenantIdFromConfig != nil { + tenantIdFromConfig := source.TenantIdFromConfig.Copy() + administrator.TenantIdFromConfig = &tenantIdFromConfig + } else { + administrator.TenantIdFromConfig = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + administrator.PropertyBag = propertyBag + } else { + administrator.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_Administrator_Spec interface (if implemented) to customize the conversion + var administratorAsAny any = administrator + if augmentedAdministrator, ok := administratorAsAny.(augmentConversionForFlexibleServers_Administrator_Spec); ok { + err := augmentedAdministrator.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_Administrator_Spec populates the provided destination FlexibleServers_Administrator_Spec from our FlexibleServers_Administrator_Spec +func (administrator *FlexibleServers_Administrator_Spec) AssignProperties_To_FlexibleServers_Administrator_Spec(destination *v20230630s.FlexibleServers_Administrator_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(administrator.PropertyBag) + + // AdministratorType + destination.AdministratorType = genruntime.ClonePointerToString(administrator.AdministratorType) + + // IdentityResourceReference + if administrator.IdentityResourceReference != nil { + identityResourceReference := administrator.IdentityResourceReference.Copy() + destination.IdentityResourceReference = &identityResourceReference + } else { + destination.IdentityResourceReference = nil + } + + // Login + destination.Login = genruntime.ClonePointerToString(administrator.Login) + + // OriginalVersion + destination.OriginalVersion = administrator.OriginalVersion + + // Owner + if administrator.Owner != nil { + owner := administrator.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // Sid + destination.Sid = genruntime.ClonePointerToString(administrator.Sid) + + // SidFromConfig + if administrator.SidFromConfig != nil { + sidFromConfig := administrator.SidFromConfig.Copy() + destination.SidFromConfig = &sidFromConfig + } else { + destination.SidFromConfig = nil + } + + // TenantId + destination.TenantId = genruntime.ClonePointerToString(administrator.TenantId) + + // TenantIdFromConfig + if administrator.TenantIdFromConfig != nil { + tenantIdFromConfig := administrator.TenantIdFromConfig.Copy() + destination.TenantIdFromConfig = &tenantIdFromConfig + } else { + destination.TenantIdFromConfig = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_Administrator_Spec interface (if implemented) to customize the conversion + var administratorAsAny any = administrator + if augmentedAdministrator, ok := administratorAsAny.(augmentConversionForFlexibleServers_Administrator_Spec); ok { + err := augmentedAdministrator.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } // Storage version of v1api20220101.FlexibleServers_Administrator_STATUS @@ -204,20 +471,188 @@ var _ genruntime.ConvertibleStatus = &FlexibleServers_Administrator_STATUS{} // ConvertStatusFrom populates our FlexibleServers_Administrator_STATUS from the provided source func (administrator *FlexibleServers_Administrator_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { - if source == administrator { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + src, ok := source.(*v20230630s.FlexibleServers_Administrator_STATUS) + if ok { + // Populate our instance from source + return administrator.AssignProperties_From_FlexibleServers_Administrator_STATUS(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_Administrator_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") } - return source.ConvertStatusTo(administrator) + // Update our instance from src + err = administrator.AssignProperties_From_FlexibleServers_Administrator_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil } // ConvertStatusTo populates the provided destination from our FlexibleServers_Administrator_STATUS func (administrator *FlexibleServers_Administrator_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { - if destination == administrator { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + dst, ok := destination.(*v20230630s.FlexibleServers_Administrator_STATUS) + if ok { + // Populate destination from our instance + return administrator.AssignProperties_To_FlexibleServers_Administrator_STATUS(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_Administrator_STATUS{} + err := administrator.AssignProperties_To_FlexibleServers_Administrator_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +// AssignProperties_From_FlexibleServers_Administrator_STATUS populates our FlexibleServers_Administrator_STATUS from the provided source FlexibleServers_Administrator_STATUS +func (administrator *FlexibleServers_Administrator_STATUS) AssignProperties_From_FlexibleServers_Administrator_STATUS(source *v20230630s.FlexibleServers_Administrator_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AdministratorType + administrator.AdministratorType = genruntime.ClonePointerToString(source.AdministratorType) + + // Conditions + administrator.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // Id + administrator.Id = genruntime.ClonePointerToString(source.Id) + + // IdentityResourceId + administrator.IdentityResourceId = genruntime.ClonePointerToString(source.IdentityResourceId) + + // Login + administrator.Login = genruntime.ClonePointerToString(source.Login) + + // Name + administrator.Name = genruntime.ClonePointerToString(source.Name) + + // Sid + administrator.Sid = genruntime.ClonePointerToString(source.Sid) + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + administrator.SystemData = &systemDatum + } else { + administrator.SystemData = nil + } + + // TenantId + administrator.TenantId = genruntime.ClonePointerToString(source.TenantId) + + // Type + administrator.Type = genruntime.ClonePointerToString(source.Type) + + // Update the property bag + if len(propertyBag) > 0 { + administrator.PropertyBag = propertyBag + } else { + administrator.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_Administrator_STATUS interface (if implemented) to customize the conversion + var administratorAsAny any = administrator + if augmentedAdministrator, ok := administratorAsAny.(augmentConversionForFlexibleServers_Administrator_STATUS); ok { + err := augmentedAdministrator.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_Administrator_STATUS populates the provided destination FlexibleServers_Administrator_STATUS from our FlexibleServers_Administrator_STATUS +func (administrator *FlexibleServers_Administrator_STATUS) AssignProperties_To_FlexibleServers_Administrator_STATUS(destination *v20230630s.FlexibleServers_Administrator_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(administrator.PropertyBag) + + // AdministratorType + destination.AdministratorType = genruntime.ClonePointerToString(administrator.AdministratorType) + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(administrator.Conditions) + + // Id + destination.Id = genruntime.ClonePointerToString(administrator.Id) + + // IdentityResourceId + destination.IdentityResourceId = genruntime.ClonePointerToString(administrator.IdentityResourceId) + + // Login + destination.Login = genruntime.ClonePointerToString(administrator.Login) + + // Name + destination.Name = genruntime.ClonePointerToString(administrator.Name) + + // Sid + destination.Sid = genruntime.ClonePointerToString(administrator.Sid) + + // SystemData + if administrator.SystemData != nil { + var systemDatum v20230630s.SystemData_STATUS + err := administrator.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil } - return destination.ConvertStatusFrom(administrator) + // TenantId + destination.TenantId = genruntime.ClonePointerToString(administrator.TenantId) + + // Type + destination.Type = genruntime.ClonePointerToString(administrator.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_Administrator_STATUS interface (if implemented) to customize the conversion + var administratorAsAny any = administrator + if augmentedAdministrator, ok := administratorAsAny.(augmentConversionForFlexibleServers_Administrator_STATUS); ok { + err := augmentedAdministrator.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForFlexibleServers_Administrator_Spec interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServers_Administrator_Spec) error + AssignPropertiesTo(dst *v20230630s.FlexibleServers_Administrator_Spec) error +} + +type augmentConversionForFlexibleServers_Administrator_STATUS interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServers_Administrator_STATUS) error + AssignPropertiesTo(dst *v20230630s.FlexibleServers_Administrator_STATUS) error } // Storage version of v1api20220101.SystemData_STATUS @@ -232,6 +667,97 @@ type SystemData_STATUS struct { PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` } +// AssignProperties_From_SystemData_STATUS populates our SystemData_STATUS from the provided source SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_From_SystemData_STATUS(source *v20230630s.SystemData_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // CreatedAt + data.CreatedAt = genruntime.ClonePointerToString(source.CreatedAt) + + // CreatedBy + data.CreatedBy = genruntime.ClonePointerToString(source.CreatedBy) + + // CreatedByType + data.CreatedByType = genruntime.ClonePointerToString(source.CreatedByType) + + // LastModifiedAt + data.LastModifiedAt = genruntime.ClonePointerToString(source.LastModifiedAt) + + // LastModifiedBy + data.LastModifiedBy = genruntime.ClonePointerToString(source.LastModifiedBy) + + // LastModifiedByType + data.LastModifiedByType = genruntime.ClonePointerToString(source.LastModifiedByType) + + // Update the property bag + if len(propertyBag) > 0 { + data.PropertyBag = propertyBag + } else { + data.PropertyBag = nil + } + + // Invoke the augmentConversionForSystemData_STATUS interface (if implemented) to customize the conversion + var dataAsAny any = data + if augmentedData, ok := dataAsAny.(augmentConversionForSystemData_STATUS); ok { + err := augmentedData.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_SystemData_STATUS populates the provided destination SystemData_STATUS from our SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination *v20230630s.SystemData_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(data.PropertyBag) + + // CreatedAt + destination.CreatedAt = genruntime.ClonePointerToString(data.CreatedAt) + + // CreatedBy + destination.CreatedBy = genruntime.ClonePointerToString(data.CreatedBy) + + // CreatedByType + destination.CreatedByType = genruntime.ClonePointerToString(data.CreatedByType) + + // LastModifiedAt + destination.LastModifiedAt = genruntime.ClonePointerToString(data.LastModifiedAt) + + // LastModifiedBy + destination.LastModifiedBy = genruntime.ClonePointerToString(data.LastModifiedBy) + + // LastModifiedByType + destination.LastModifiedByType = genruntime.ClonePointerToString(data.LastModifiedByType) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForSystemData_STATUS interface (if implemented) to customize the conversion + var dataAsAny any = data + if augmentedData, ok := dataAsAny.(augmentConversionForSystemData_STATUS); ok { + err := augmentedData.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForSystemData_STATUS interface { + AssignPropertiesFrom(src *v20230630s.SystemData_STATUS) error + AssignPropertiesTo(dst *v20230630s.SystemData_STATUS) error +} + func init() { SchemeBuilder.Register(&FlexibleServersAdministrator{}, &FlexibleServersAdministratorList{}) } diff --git a/v2/api/dbformysql/v1api20220101/storage/flexible_servers_administrator_types_gen_test.go b/v2/api/dbformysql/v1api20220101/storage/flexible_servers_administrator_types_gen_test.go index 8328e2db368..0e8ded89b60 100644 --- a/v2/api/dbformysql/v1api20220101/storage/flexible_servers_administrator_types_gen_test.go +++ b/v2/api/dbformysql/v1api20220101/storage/flexible_servers_administrator_types_gen_test.go @@ -5,6 +5,7 @@ package storage import ( "encoding/json" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -17,6 +18,91 @@ import ( "testing" ) +func Test_FlexibleServersAdministrator_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersAdministrator to hub returns original", + prop.ForAll(RunResourceConversionTestForFlexibleServersAdministrator, FlexibleServersAdministratorGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForFlexibleServersAdministrator tests if a specific instance of FlexibleServersAdministrator round trips to the hub storage version and back losslessly +func RunResourceConversionTestForFlexibleServersAdministrator(subject FlexibleServersAdministrator) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub v20230630s.FlexibleServersAdministrator + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual FlexibleServersAdministrator + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServersAdministrator_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersAdministrator to FlexibleServersAdministrator via AssignProperties_To_FlexibleServersAdministrator & AssignProperties_From_FlexibleServersAdministrator returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServersAdministrator, FlexibleServersAdministratorGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServersAdministrator tests if a specific instance of FlexibleServersAdministrator can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServersAdministrator(subject FlexibleServersAdministrator) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServersAdministrator + err := copied.AssignProperties_To_FlexibleServersAdministrator(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServersAdministrator + err = actual.AssignProperties_From_FlexibleServersAdministrator(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServersAdministrator_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -79,6 +165,48 @@ func AddRelatedPropertyGeneratorsForFlexibleServersAdministrator(gens map[string gens["Status"] = FlexibleServers_Administrator_STATUSGenerator() } +func Test_FlexibleServers_Administrator_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_Administrator_Spec to FlexibleServers_Administrator_Spec via AssignProperties_To_FlexibleServers_Administrator_Spec & AssignProperties_From_FlexibleServers_Administrator_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_Administrator_Spec, FlexibleServers_Administrator_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_Administrator_Spec tests if a specific instance of FlexibleServers_Administrator_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_Administrator_Spec(subject FlexibleServers_Administrator_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_Administrator_Spec + err := copied.AssignProperties_To_FlexibleServers_Administrator_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_Administrator_Spec + err = actual.AssignProperties_From_FlexibleServers_Administrator_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServers_Administrator_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -144,6 +272,48 @@ func AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_Spec(gens gens["TenantId"] = gen.PtrOf(gen.AlphaString()) } +func Test_FlexibleServers_Administrator_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_Administrator_STATUS to FlexibleServers_Administrator_STATUS via AssignProperties_To_FlexibleServers_Administrator_STATUS & AssignProperties_From_FlexibleServers_Administrator_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_Administrator_STATUS, FlexibleServers_Administrator_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_Administrator_STATUS tests if a specific instance of FlexibleServers_Administrator_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_Administrator_STATUS(subject FlexibleServers_Administrator_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_Administrator_STATUS + err := copied.AssignProperties_To_FlexibleServers_Administrator_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_Administrator_STATUS + err = actual.AssignProperties_From_FlexibleServers_Administrator_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServers_Administrator_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -226,6 +396,48 @@ func AddRelatedPropertyGeneratorsForFlexibleServers_Administrator_STATUS(gens ma gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) } +func Test_SystemData_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SystemData_STATUS to SystemData_STATUS via AssignProperties_To_SystemData_STATUS & AssignProperties_From_SystemData_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSystemData_STATUS tests if a specific instance of SystemData_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.SystemData_STATUS + err := copied.AssignProperties_To_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SystemData_STATUS + err = actual.AssignProperties_From_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_SystemData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() diff --git a/v2/api/dbformysql/v1api20220101/storage/flexible_servers_configuration_types_gen.go b/v2/api/dbformysql/v1api20220101/storage/flexible_servers_configuration_types_gen.go index d4afb3bb2ec..665dd72c645 100644 --- a/v2/api/dbformysql/v1api20220101/storage/flexible_servers_configuration_types_gen.go +++ b/v2/api/dbformysql/v1api20220101/storage/flexible_servers_configuration_types_gen.go @@ -4,19 +4,18 @@ package storage import ( + "fmt" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/Azure/azure-service-operator/v2/pkg/genruntime" "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" "github.com/pkg/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" ) -// +kubebuilder:rbac:groups=dbformysql.azure.com,resources=flexibleserversconfigurations,verbs=get;list;watch;create;update;patch;delete -// +kubebuilder:rbac:groups=dbformysql.azure.com,resources={flexibleserversconfigurations/status,flexibleserversconfigurations/finalizers},verbs=get;update;patch - // +kubebuilder:object:root=true // +kubebuilder:subresource:status -// +kubebuilder:storageversion // +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" // +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" // +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" @@ -44,6 +43,28 @@ func (configuration *FlexibleServersConfiguration) SetConditions(conditions cond configuration.Status.Conditions = conditions } +var _ conversion.Convertible = &FlexibleServersConfiguration{} + +// ConvertFrom populates our FlexibleServersConfiguration from the provided hub FlexibleServersConfiguration +func (configuration *FlexibleServersConfiguration) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*v20230630s.FlexibleServersConfiguration) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersConfiguration but received %T instead", hub) + } + + return configuration.AssignProperties_From_FlexibleServersConfiguration(source) +} + +// ConvertTo populates the provided hub FlexibleServersConfiguration from our FlexibleServersConfiguration +func (configuration *FlexibleServersConfiguration) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*v20230630s.FlexibleServersConfiguration) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersConfiguration but received %T instead", hub) + } + + return configuration.AssignProperties_To_FlexibleServersConfiguration(destination) +} + var _ genruntime.KubernetesResource = &FlexibleServersConfiguration{} // AzureName returns the Azure name of the resource @@ -114,8 +135,75 @@ func (configuration *FlexibleServersConfiguration) SetStatus(status genruntime.C return nil } -// Hub marks that this FlexibleServersConfiguration is the hub type for conversion -func (configuration *FlexibleServersConfiguration) Hub() {} +// AssignProperties_From_FlexibleServersConfiguration populates our FlexibleServersConfiguration from the provided source FlexibleServersConfiguration +func (configuration *FlexibleServersConfiguration) AssignProperties_From_FlexibleServersConfiguration(source *v20230630s.FlexibleServersConfiguration) error { + + // ObjectMeta + configuration.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec FlexibleServers_Configuration_Spec + err := spec.AssignProperties_From_FlexibleServers_Configuration_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_Configuration_Spec() to populate field Spec") + } + configuration.Spec = spec + + // Status + var status FlexibleServers_Configuration_STATUS + err = status.AssignProperties_From_FlexibleServers_Configuration_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_Configuration_STATUS() to populate field Status") + } + configuration.Status = status + + // Invoke the augmentConversionForFlexibleServersConfiguration interface (if implemented) to customize the conversion + var configurationAsAny any = configuration + if augmentedConfiguration, ok := configurationAsAny.(augmentConversionForFlexibleServersConfiguration); ok { + err := augmentedConfiguration.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServersConfiguration populates the provided destination FlexibleServersConfiguration from our FlexibleServersConfiguration +func (configuration *FlexibleServersConfiguration) AssignProperties_To_FlexibleServersConfiguration(destination *v20230630s.FlexibleServersConfiguration) error { + + // ObjectMeta + destination.ObjectMeta = *configuration.ObjectMeta.DeepCopy() + + // Spec + var spec v20230630s.FlexibleServers_Configuration_Spec + err := configuration.Spec.AssignProperties_To_FlexibleServers_Configuration_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_Configuration_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status v20230630s.FlexibleServers_Configuration_STATUS + err = configuration.Status.AssignProperties_To_FlexibleServers_Configuration_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_Configuration_STATUS() to populate field Status") + } + destination.Status = status + + // Invoke the augmentConversionForFlexibleServersConfiguration interface (if implemented) to customize the conversion + var configurationAsAny any = configuration + if augmentedConfiguration, ok := configurationAsAny.(augmentConversionForFlexibleServersConfiguration); ok { + err := augmentedConfiguration.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} // OriginalGVK returns a GroupValueKind for the original API version used to create the resource func (configuration *FlexibleServersConfiguration) OriginalGVK() *schema.GroupVersionKind { @@ -137,6 +225,11 @@ type FlexibleServersConfigurationList struct { Items []FlexibleServersConfiguration `json:"items"` } +type augmentConversionForFlexibleServersConfiguration interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServersConfiguration) error + AssignPropertiesTo(dst *v20230630s.FlexibleServersConfiguration) error +} + // Storage version of v1api20220101.FlexibleServers_Configuration_Spec type FlexibleServers_Configuration_Spec struct { // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it @@ -159,20 +252,146 @@ var _ genruntime.ConvertibleSpec = &FlexibleServers_Configuration_Spec{} // ConvertSpecFrom populates our FlexibleServers_Configuration_Spec from the provided source func (configuration *FlexibleServers_Configuration_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { - if source == configuration { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + src, ok := source.(*v20230630s.FlexibleServers_Configuration_Spec) + if ok { + // Populate our instance from source + return configuration.AssignProperties_From_FlexibleServers_Configuration_Spec(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_Configuration_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") } - return source.ConvertSpecTo(configuration) + // Update our instance from src + err = configuration.AssignProperties_From_FlexibleServers_Configuration_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil } // ConvertSpecTo populates the provided destination from our FlexibleServers_Configuration_Spec func (configuration *FlexibleServers_Configuration_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { - if destination == configuration { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + dst, ok := destination.(*v20230630s.FlexibleServers_Configuration_Spec) + if ok { + // Populate destination from our instance + return configuration.AssignProperties_To_FlexibleServers_Configuration_Spec(dst) } - return destination.ConvertSpecFrom(configuration) + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_Configuration_Spec{} + err := configuration.AssignProperties_To_FlexibleServers_Configuration_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_FlexibleServers_Configuration_Spec populates our FlexibleServers_Configuration_Spec from the provided source FlexibleServers_Configuration_Spec +func (configuration *FlexibleServers_Configuration_Spec) AssignProperties_From_FlexibleServers_Configuration_Spec(source *v20230630s.FlexibleServers_Configuration_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AzureName + configuration.AzureName = source.AzureName + + // CurrentValue + configuration.CurrentValue = genruntime.ClonePointerToString(source.CurrentValue) + + // OriginalVersion + configuration.OriginalVersion = source.OriginalVersion + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + configuration.Owner = &owner + } else { + configuration.Owner = nil + } + + // Source + configuration.Source = genruntime.ClonePointerToString(source.Source) + + // Value + configuration.Value = genruntime.ClonePointerToString(source.Value) + + // Update the property bag + if len(propertyBag) > 0 { + configuration.PropertyBag = propertyBag + } else { + configuration.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_Configuration_Spec interface (if implemented) to customize the conversion + var configurationAsAny any = configuration + if augmentedConfiguration, ok := configurationAsAny.(augmentConversionForFlexibleServers_Configuration_Spec); ok { + err := augmentedConfiguration.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_Configuration_Spec populates the provided destination FlexibleServers_Configuration_Spec from our FlexibleServers_Configuration_Spec +func (configuration *FlexibleServers_Configuration_Spec) AssignProperties_To_FlexibleServers_Configuration_Spec(destination *v20230630s.FlexibleServers_Configuration_Spec) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(configuration.PropertyBag) + + // AzureName + destination.AzureName = configuration.AzureName + + // CurrentValue + destination.CurrentValue = genruntime.ClonePointerToString(configuration.CurrentValue) + + // OriginalVersion + destination.OriginalVersion = configuration.OriginalVersion + + // Owner + if configuration.Owner != nil { + owner := configuration.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // Source + destination.Source = genruntime.ClonePointerToString(configuration.Source) + + // Value + destination.Value = genruntime.ClonePointerToString(configuration.Value) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_Configuration_Spec interface (if implemented) to customize the conversion + var configurationAsAny any = configuration + if augmentedConfiguration, ok := configurationAsAny.(augmentConversionForFlexibleServers_Configuration_Spec); ok { + err := augmentedConfiguration.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil } // Storage version of v1api20220101.FlexibleServers_Configuration_STATUS @@ -200,20 +419,224 @@ var _ genruntime.ConvertibleStatus = &FlexibleServers_Configuration_STATUS{} // ConvertStatusFrom populates our FlexibleServers_Configuration_STATUS from the provided source func (configuration *FlexibleServers_Configuration_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { - if source == configuration { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + src, ok := source.(*v20230630s.FlexibleServers_Configuration_STATUS) + if ok { + // Populate our instance from source + return configuration.AssignProperties_From_FlexibleServers_Configuration_STATUS(src) } - return source.ConvertStatusTo(configuration) + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_Configuration_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = configuration.AssignProperties_From_FlexibleServers_Configuration_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil } // ConvertStatusTo populates the provided destination from our FlexibleServers_Configuration_STATUS func (configuration *FlexibleServers_Configuration_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { - if destination == configuration { - return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + dst, ok := destination.(*v20230630s.FlexibleServers_Configuration_STATUS) + if ok { + // Populate destination from our instance + return configuration.AssignProperties_To_FlexibleServers_Configuration_STATUS(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_Configuration_STATUS{} + err := configuration.AssignProperties_To_FlexibleServers_Configuration_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +// AssignProperties_From_FlexibleServers_Configuration_STATUS populates our FlexibleServers_Configuration_STATUS from the provided source FlexibleServers_Configuration_STATUS +func (configuration *FlexibleServers_Configuration_STATUS) AssignProperties_From_FlexibleServers_Configuration_STATUS(source *v20230630s.FlexibleServers_Configuration_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(source.PropertyBag) + + // AllowedValues + configuration.AllowedValues = genruntime.ClonePointerToString(source.AllowedValues) + + // Conditions + configuration.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // CurrentValue + configuration.CurrentValue = genruntime.ClonePointerToString(source.CurrentValue) + + // DataType + configuration.DataType = genruntime.ClonePointerToString(source.DataType) + + // DefaultValue + configuration.DefaultValue = genruntime.ClonePointerToString(source.DefaultValue) + + // Description + configuration.Description = genruntime.ClonePointerToString(source.Description) + + // DocumentationLink + configuration.DocumentationLink = genruntime.ClonePointerToString(source.DocumentationLink) + + // Id + configuration.Id = genruntime.ClonePointerToString(source.Id) + + // IsConfigPendingRestart + configuration.IsConfigPendingRestart = genruntime.ClonePointerToString(source.IsConfigPendingRestart) + + // IsDynamicConfig + configuration.IsDynamicConfig = genruntime.ClonePointerToString(source.IsDynamicConfig) + + // IsReadOnly + configuration.IsReadOnly = genruntime.ClonePointerToString(source.IsReadOnly) + + // Name + configuration.Name = genruntime.ClonePointerToString(source.Name) + + // Source + configuration.Source = genruntime.ClonePointerToString(source.Source) + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + configuration.SystemData = &systemDatum + } else { + configuration.SystemData = nil } - return destination.ConvertStatusFrom(configuration) + // Type + configuration.Type = genruntime.ClonePointerToString(source.Type) + + // Value + configuration.Value = genruntime.ClonePointerToString(source.Value) + + // Update the property bag + if len(propertyBag) > 0 { + configuration.PropertyBag = propertyBag + } else { + configuration.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_Configuration_STATUS interface (if implemented) to customize the conversion + var configurationAsAny any = configuration + if augmentedConfiguration, ok := configurationAsAny.(augmentConversionForFlexibleServers_Configuration_STATUS); ok { + err := augmentedConfiguration.AssignPropertiesFrom(source) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesFrom() for conversion") + } + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_Configuration_STATUS populates the provided destination FlexibleServers_Configuration_STATUS from our FlexibleServers_Configuration_STATUS +func (configuration *FlexibleServers_Configuration_STATUS) AssignProperties_To_FlexibleServers_Configuration_STATUS(destination *v20230630s.FlexibleServers_Configuration_STATUS) error { + // Clone the existing property bag + propertyBag := genruntime.NewPropertyBag(configuration.PropertyBag) + + // AllowedValues + destination.AllowedValues = genruntime.ClonePointerToString(configuration.AllowedValues) + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(configuration.Conditions) + + // CurrentValue + destination.CurrentValue = genruntime.ClonePointerToString(configuration.CurrentValue) + + // DataType + destination.DataType = genruntime.ClonePointerToString(configuration.DataType) + + // DefaultValue + destination.DefaultValue = genruntime.ClonePointerToString(configuration.DefaultValue) + + // Description + destination.Description = genruntime.ClonePointerToString(configuration.Description) + + // DocumentationLink + destination.DocumentationLink = genruntime.ClonePointerToString(configuration.DocumentationLink) + + // Id + destination.Id = genruntime.ClonePointerToString(configuration.Id) + + // IsConfigPendingRestart + destination.IsConfigPendingRestart = genruntime.ClonePointerToString(configuration.IsConfigPendingRestart) + + // IsDynamicConfig + destination.IsDynamicConfig = genruntime.ClonePointerToString(configuration.IsDynamicConfig) + + // IsReadOnly + destination.IsReadOnly = genruntime.ClonePointerToString(configuration.IsReadOnly) + + // Name + destination.Name = genruntime.ClonePointerToString(configuration.Name) + + // Source + destination.Source = genruntime.ClonePointerToString(configuration.Source) + + // SystemData + if configuration.SystemData != nil { + var systemDatum v20230630s.SystemData_STATUS + err := configuration.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(configuration.Type) + + // Value + destination.Value = genruntime.ClonePointerToString(configuration.Value) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // Invoke the augmentConversionForFlexibleServers_Configuration_STATUS interface (if implemented) to customize the conversion + var configurationAsAny any = configuration + if augmentedConfiguration, ok := configurationAsAny.(augmentConversionForFlexibleServers_Configuration_STATUS); ok { + err := augmentedConfiguration.AssignPropertiesTo(destination) + if err != nil { + return errors.Wrap(err, "calling augmented AssignPropertiesTo() for conversion") + } + } + + // No error + return nil +} + +type augmentConversionForFlexibleServers_Configuration_Spec interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServers_Configuration_Spec) error + AssignPropertiesTo(dst *v20230630s.FlexibleServers_Configuration_Spec) error +} + +type augmentConversionForFlexibleServers_Configuration_STATUS interface { + AssignPropertiesFrom(src *v20230630s.FlexibleServers_Configuration_STATUS) error + AssignPropertiesTo(dst *v20230630s.FlexibleServers_Configuration_STATUS) error } func init() { diff --git a/v2/api/dbformysql/v1api20220101/storage/flexible_servers_configuration_types_gen_test.go b/v2/api/dbformysql/v1api20220101/storage/flexible_servers_configuration_types_gen_test.go index d4f00069c8b..85183b2b49a 100644 --- a/v2/api/dbformysql/v1api20220101/storage/flexible_servers_configuration_types_gen_test.go +++ b/v2/api/dbformysql/v1api20220101/storage/flexible_servers_configuration_types_gen_test.go @@ -5,6 +5,7 @@ package storage import ( "encoding/json" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/google/go-cmp/cmp" "github.com/google/go-cmp/cmp/cmpopts" "github.com/kr/pretty" @@ -17,6 +18,91 @@ import ( "testing" ) +func Test_FlexibleServersConfiguration_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersConfiguration to hub returns original", + prop.ForAll(RunResourceConversionTestForFlexibleServersConfiguration, FlexibleServersConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForFlexibleServersConfiguration tests if a specific instance of FlexibleServersConfiguration round trips to the hub storage version and back losslessly +func RunResourceConversionTestForFlexibleServersConfiguration(subject FlexibleServersConfiguration) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub v20230630s.FlexibleServersConfiguration + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual FlexibleServersConfiguration + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServersConfiguration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersConfiguration to FlexibleServersConfiguration via AssignProperties_To_FlexibleServersConfiguration & AssignProperties_From_FlexibleServersConfiguration returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServersConfiguration, FlexibleServersConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServersConfiguration tests if a specific instance of FlexibleServersConfiguration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServersConfiguration(subject FlexibleServersConfiguration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServersConfiguration + err := copied.AssignProperties_To_FlexibleServersConfiguration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServersConfiguration + err = actual.AssignProperties_From_FlexibleServersConfiguration(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServersConfiguration_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -79,6 +165,48 @@ func AddRelatedPropertyGeneratorsForFlexibleServersConfiguration(gens map[string gens["Status"] = FlexibleServers_Configuration_STATUSGenerator() } +func Test_FlexibleServers_Configuration_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_Configuration_Spec to FlexibleServers_Configuration_Spec via AssignProperties_To_FlexibleServers_Configuration_Spec & AssignProperties_From_FlexibleServers_Configuration_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_Configuration_Spec, FlexibleServers_Configuration_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_Configuration_Spec tests if a specific instance of FlexibleServers_Configuration_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_Configuration_Spec(subject FlexibleServers_Configuration_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_Configuration_Spec + err := copied.AssignProperties_To_FlexibleServers_Configuration_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_Configuration_Spec + err = actual.AssignProperties_From_FlexibleServers_Configuration_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServers_Configuration_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() @@ -144,6 +272,48 @@ func AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_Spec(gens gens["Value"] = gen.PtrOf(gen.AlphaString()) } +func Test_FlexibleServers_Configuration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_Configuration_STATUS to FlexibleServers_Configuration_STATUS via AssignProperties_To_FlexibleServers_Configuration_STATUS & AssignProperties_From_FlexibleServers_Configuration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_Configuration_STATUS, FlexibleServers_Configuration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_Configuration_STATUS tests if a specific instance of FlexibleServers_Configuration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_Configuration_STATUS(subject FlexibleServers_Configuration_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_Configuration_STATUS + err := copied.AssignProperties_To_FlexibleServers_Configuration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_Configuration_STATUS + err = actual.AssignProperties_From_FlexibleServers_Configuration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + func Test_FlexibleServers_Configuration_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { t.Parallel() parameters := gopter.DefaultTestParameters() diff --git a/v2/api/dbformysql/v1api20220101/storage/structure.txt b/v2/api/dbformysql/v1api20220101/storage/structure.txt index 752a859e442..23f259dbda5 100644 --- a/v2/api/dbformysql/v1api20220101/storage/structure.txt +++ b/v2/api/dbformysql/v1api20220101/storage/structure.txt @@ -34,38 +34,45 @@ github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20220101/storage │ │ └── PropertyBag: genruntime.PropertyBag │ ├── TenantId: *string │ └── Type: *string -└── FlexibleServersConfiguration: Resource - ├── Owner: dbformysql/v1api20220101.FlexibleServer - ├── Spec: Object (7 properties) - │ ├── AzureName: string - │ ├── CurrentValue: *string - │ ├── OriginalVersion: string - │ ├── Owner: *genruntime.KnownResourceReference - │ ├── PropertyBag: genruntime.PropertyBag - │ ├── Source: *string - │ └── Value: *string - └── Status: Object (17 properties) - ├── AllowedValues: *string - ├── Conditions: conditions.Condition[] - ├── CurrentValue: *string - ├── DataType: *string - ├── DefaultValue: *string - ├── Description: *string - ├── DocumentationLink: *string - ├── Id: *string - ├── IsConfigPendingRestart: *string - ├── IsDynamicConfig: *string - ├── IsReadOnly: *string - ├── Name: *string - ├── PropertyBag: genruntime.PropertyBag - ├── Source: *string - ├── SystemData: *Object (7 properties) - │ ├── CreatedAt: *string - │ ├── CreatedBy: *string - │ ├── CreatedByType: *string - │ ├── LastModifiedAt: *string - │ ├── LastModifiedBy: *string - │ ├── LastModifiedByType: *string - │ └── PropertyBag: genruntime.PropertyBag - ├── Type: *string - └── Value: *string +├── FlexibleServersConfiguration: Resource +│ ├── Owner: dbformysql/v1api20220101.FlexibleServer +│ ├── Spec: Object (7 properties) +│ │ ├── AzureName: string +│ │ ├── CurrentValue: *string +│ │ ├── OriginalVersion: string +│ │ ├── Owner: *genruntime.KnownResourceReference +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Source: *string +│ │ └── Value: *string +│ └── Status: Object (17 properties) +│ ├── AllowedValues: *string +│ ├── Conditions: conditions.Condition[] +│ ├── CurrentValue: *string +│ ├── DataType: *string +│ ├── DefaultValue: *string +│ ├── Description: *string +│ ├── DocumentationLink: *string +│ ├── Id: *string +│ ├── IsConfigPendingRestart: *string +│ ├── IsDynamicConfig: *string +│ ├── IsReadOnly: *string +│ ├── Name: *string +│ ├── PropertyBag: genruntime.PropertyBag +│ ├── Source: *string +│ ├── SystemData: *Object (7 properties) +│ │ ├── CreatedAt: *string +│ │ ├── CreatedBy: *string +│ │ ├── CreatedByType: *string +│ │ ├── LastModifiedAt: *string +│ │ ├── LastModifiedBy: *string +│ │ ├── LastModifiedByType: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── Type: *string +│ └── Value: *string +├── augmentConversionForFlexibleServersAdministrator: Interface +├── augmentConversionForFlexibleServersConfiguration: Interface +├── augmentConversionForFlexibleServers_Administrator_STATUS: Interface +├── augmentConversionForFlexibleServers_Administrator_Spec: Interface +├── augmentConversionForFlexibleServers_Configuration_STATUS: Interface +├── augmentConversionForFlexibleServers_Configuration_Spec: Interface +└── augmentConversionForSystemData_STATUS: Interface diff --git a/v2/api/dbformysql/v1api20230630/doc.go b/v2/api/dbformysql/v1api20230630/doc.go new file mode 100644 index 00000000000..4ae561da21a --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/doc.go @@ -0,0 +1,10 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by azure-service-operator-codegen. DO NOT EDIT. + +// Package v1api20230630 contains API Schema definitions for the dbformysql v1api20230630 API group +// +groupName=dbformysql.azure.com +package v1api20230630 diff --git a/v2/api/dbformysql/v1api20230630/flexible_server_spec_arm_types_gen.go b/v2/api/dbformysql/v1api20230630/flexible_server_spec_arm_types_gen.go new file mode 100644 index 00000000000..c85ed366dc1 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_server_spec_arm_types_gen.go @@ -0,0 +1,224 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type FlexibleServer_Spec_ARM struct { + // Identity: The cmk identity for the server. + Identity *MySQLServerIdentity_ARM `json:"identity,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + Name string `json:"name,omitempty"` + + // Properties: Properties of the server. + Properties *ServerProperties_ARM `json:"properties,omitempty"` + + // Sku: The SKU (pricing tier) of the server. + Sku *MySQLServerSku_ARM `json:"sku,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &FlexibleServer_Spec_ARM{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2023-06-30" +func (server FlexibleServer_Spec_ARM) GetAPIVersion() string { + return string(APIVersion_Value) +} + +// GetName returns the Name of the resource +func (server *FlexibleServer_Spec_ARM) GetName() string { + return server.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.DBforMySQL/flexibleServers" +func (server *FlexibleServer_Spec_ARM) GetType() string { + return "Microsoft.DBforMySQL/flexibleServers" +} + +// Properties to configure Identity for Bring your Own Keys +type MySQLServerIdentity_ARM struct { + // Type: Type of managed service identity. + Type *MySQLServerIdentity_Type `json:"type,omitempty"` + UserAssignedIdentities map[string]UserAssignedIdentityDetails_ARM `json:"userAssignedIdentities,omitempty"` +} + +// Billing information related properties of a server. +type MySQLServerSku_ARM struct { + // Name: The name of the sku, e.g. Standard_D32s_v3. + Name *string `json:"name,omitempty"` + + // Tier: The tier of the particular SKU, e.g. GeneralPurpose. + Tier *MySQLServerSku_Tier `json:"tier,omitempty"` +} + +// The properties of a server. +type ServerProperties_ARM struct { + // AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + // (and is required for creation). + AdministratorLogin *string `json:"administratorLogin,omitempty"` + + // AdministratorLoginPassword: The password of the administrator login (required for server creation). + AdministratorLoginPassword *string `json:"administratorLoginPassword,omitempty"` + + // AvailabilityZone: availability Zone information of the server. + AvailabilityZone *string `json:"availabilityZone,omitempty"` + + // Backup: Backup related properties of a server. + Backup *Backup_ARM `json:"backup,omitempty"` + + // CreateMode: The mode to create a new MySQL server. + CreateMode *ServerProperties_CreateMode `json:"createMode,omitempty"` + + // DataEncryption: The Data Encryption for CMK. + DataEncryption *DataEncryption_ARM `json:"dataEncryption,omitempty"` + + // HighAvailability: High availability related properties of a server. + HighAvailability *HighAvailability_ARM `json:"highAvailability,omitempty"` + + // ImportSourceProperties: Source properties for import from storage. + ImportSourceProperties *ImportSourceProperties_ARM `json:"importSourceProperties,omitempty"` + + // MaintenanceWindow: Maintenance window of a server. + MaintenanceWindow *MaintenanceWindow_ARM `json:"maintenanceWindow,omitempty"` + + // Network: Network related properties of a server. + Network *Network_ARM `json:"network,omitempty"` + + // ReplicationRole: The replication role. + ReplicationRole *ReplicationRole `json:"replicationRole,omitempty"` + + // RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from. + RestorePointInTime *string `json:"restorePointInTime,omitempty"` + SourceServerResourceId *string `json:"sourceServerResourceId,omitempty"` + + // Storage: Storage related properties of a server. + Storage *Storage_ARM `json:"storage,omitempty"` + + // Version: Server version. + Version *ServerVersion `json:"version,omitempty"` +} + +// Storage Profile properties of a server +type Backup_ARM struct { + // BackupRetentionDays: Backup retention days for the server. + BackupRetentionDays *int `json:"backupRetentionDays,omitempty"` + + // GeoRedundantBackup: Whether or not geo redundant backup is enabled. + GeoRedundantBackup *EnableStatusEnum `json:"geoRedundantBackup,omitempty"` +} + +// The date encryption for cmk. +type DataEncryption_ARM struct { + // GeoBackupKeyURI: Geo backup key uri as key vault can't cross region, need cmk in same region as geo backup + GeoBackupKeyURI *string `json:"geoBackupKeyURI,omitempty"` + GeoBackupUserAssignedIdentityId *string `json:"geoBackupUserAssignedIdentityId,omitempty"` + + // PrimaryKeyURI: Primary key uri + PrimaryKeyURI *string `json:"primaryKeyURI,omitempty"` + PrimaryUserAssignedIdentityId *string `json:"primaryUserAssignedIdentityId,omitempty"` + + // Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk. + Type *DataEncryption_Type `json:"type,omitempty"` +} + +// Network related properties of a server +type HighAvailability_ARM struct { + // Mode: High availability mode for a server. + Mode *HighAvailability_Mode `json:"mode,omitempty"` + + // StandbyAvailabilityZone: Availability zone of the standby server. + StandbyAvailabilityZone *string `json:"standbyAvailabilityZone,omitempty"` +} + +// Import source related properties. +type ImportSourceProperties_ARM struct { + // DataDirPath: Relative path of data directory in storage. + DataDirPath *string `json:"dataDirPath,omitempty"` + + // SasToken: Sas token for accessing source storage. Read and list permissions are required for sas token. + SasToken *string `json:"sasToken,omitempty"` + + // StorageType: Storage type of import source. + StorageType *ImportSourceProperties_StorageType `json:"storageType,omitempty"` + + // StorageUrl: Uri of the import source storage. + StorageUrl *string `json:"storageUrl,omitempty"` +} + +// Maintenance window of a server. +type MaintenanceWindow_ARM struct { + // CustomWindow: indicates whether custom window is enabled or disabled + CustomWindow *string `json:"customWindow,omitempty"` + + // DayOfWeek: day of week for maintenance window + DayOfWeek *int `json:"dayOfWeek,omitempty"` + + // StartHour: start hour for maintenance window + StartHour *int `json:"startHour,omitempty"` + + // StartMinute: start minute for maintenance window + StartMinute *int `json:"startMinute,omitempty"` +} + +// +kubebuilder:validation:Enum={"UserAssigned"} +type MySQLServerIdentity_Type string + +const MySQLServerIdentity_Type_UserAssigned = MySQLServerIdentity_Type("UserAssigned") + +// Mapping from string to MySQLServerIdentity_Type +var mySQLServerIdentity_Type_Values = map[string]MySQLServerIdentity_Type{ + "userassigned": MySQLServerIdentity_Type_UserAssigned, +} + +// +kubebuilder:validation:Enum={"Burstable","GeneralPurpose","MemoryOptimized"} +type MySQLServerSku_Tier string + +const ( + MySQLServerSku_Tier_Burstable = MySQLServerSku_Tier("Burstable") + MySQLServerSku_Tier_GeneralPurpose = MySQLServerSku_Tier("GeneralPurpose") + MySQLServerSku_Tier_MemoryOptimized = MySQLServerSku_Tier("MemoryOptimized") +) + +// Mapping from string to MySQLServerSku_Tier +var mySQLServerSku_Tier_Values = map[string]MySQLServerSku_Tier{ + "burstable": MySQLServerSku_Tier_Burstable, + "generalpurpose": MySQLServerSku_Tier_GeneralPurpose, + "memoryoptimized": MySQLServerSku_Tier_MemoryOptimized, +} + +// Network related properties of a server +type Network_ARM struct { + DelegatedSubnetResourceId *string `json:"delegatedSubnetResourceId,omitempty"` + PrivateDnsZoneResourceId *string `json:"privateDnsZoneResourceId,omitempty"` + + // PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server + // has VNet integration. + PublicNetworkAccess *EnableStatusEnum `json:"publicNetworkAccess,omitempty"` +} + +// Storage Profile properties of a server +type Storage_ARM struct { + // AutoGrow: Enable Storage Auto Grow or not. + AutoGrow *EnableStatusEnum `json:"autoGrow,omitempty"` + + // AutoIoScaling: Enable IO Auto Scaling or not. + AutoIoScaling *EnableStatusEnum `json:"autoIoScaling,omitempty"` + + // Iops: Storage IOPS for a server. + Iops *int `json:"iops,omitempty"` + + // LogOnDisk: Enable Log On Disk or not. + LogOnDisk *EnableStatusEnum `json:"logOnDisk,omitempty"` + + // StorageSizeGB: Max storage size allowed for a server. + StorageSizeGB *int `json:"storageSizeGB,omitempty"` +} + +// Information about the user assigned identity for the resource +type UserAssignedIdentityDetails_ARM struct { +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_server_spec_arm_types_gen_test.go b/v2/api/dbformysql/v1api20230630/flexible_server_spec_arm_types_gen_test.go new file mode 100644 index 00000000000..c286cff6dc8 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_server_spec_arm_types_gen_test.go @@ -0,0 +1,821 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServer_Spec_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServer_Spec_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServer_Spec_ARM, FlexibleServer_Spec_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServer_Spec_ARM runs a test to see if a specific instance of FlexibleServer_Spec_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServer_Spec_ARM(subject FlexibleServer_Spec_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServer_Spec_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServer_Spec_ARM instances for property testing - lazily instantiated by +// FlexibleServer_Spec_ARMGenerator() +var flexibleServer_Spec_ARMGenerator gopter.Gen + +// FlexibleServer_Spec_ARMGenerator returns a generator of FlexibleServer_Spec_ARM instances for property testing. +// We first initialize flexibleServer_Spec_ARMGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServer_Spec_ARMGenerator() gopter.Gen { + if flexibleServer_Spec_ARMGenerator != nil { + return flexibleServer_Spec_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServer_Spec_ARM(generators) + flexibleServer_Spec_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServer_Spec_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServer_Spec_ARM(generators) + AddRelatedPropertyGeneratorsForFlexibleServer_Spec_ARM(generators) + flexibleServer_Spec_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServer_Spec_ARM{}), generators) + + return flexibleServer_Spec_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServer_Spec_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServer_Spec_ARM(gens map[string]gopter.Gen) { + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.AlphaString() + gens["Tags"] = gen.MapOf(gen.AlphaString(), gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServer_Spec_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServer_Spec_ARM(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(MySQLServerIdentity_ARMGenerator()) + gens["Properties"] = gen.PtrOf(ServerProperties_ARMGenerator()) + gens["Sku"] = gen.PtrOf(MySQLServerSku_ARMGenerator()) +} + +func Test_MySQLServerIdentity_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MySQLServerIdentity_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMySQLServerIdentity_ARM, MySQLServerIdentity_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMySQLServerIdentity_ARM runs a test to see if a specific instance of MySQLServerIdentity_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForMySQLServerIdentity_ARM(subject MySQLServerIdentity_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MySQLServerIdentity_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MySQLServerIdentity_ARM instances for property testing - lazily instantiated by +// MySQLServerIdentity_ARMGenerator() +var mySQLServerIdentity_ARMGenerator gopter.Gen + +// MySQLServerIdentity_ARMGenerator returns a generator of MySQLServerIdentity_ARM instances for property testing. +// We first initialize mySQLServerIdentity_ARMGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MySQLServerIdentity_ARMGenerator() gopter.Gen { + if mySQLServerIdentity_ARMGenerator != nil { + return mySQLServerIdentity_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMySQLServerIdentity_ARM(generators) + mySQLServerIdentity_ARMGenerator = gen.Struct(reflect.TypeOf(MySQLServerIdentity_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMySQLServerIdentity_ARM(generators) + AddRelatedPropertyGeneratorsForMySQLServerIdentity_ARM(generators) + mySQLServerIdentity_ARMGenerator = gen.Struct(reflect.TypeOf(MySQLServerIdentity_ARM{}), generators) + + return mySQLServerIdentity_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForMySQLServerIdentity_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMySQLServerIdentity_ARM(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.OneConstOf(MySQLServerIdentity_Type_UserAssigned)) +} + +// AddRelatedPropertyGeneratorsForMySQLServerIdentity_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMySQLServerIdentity_ARM(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.MapOf(gen.AlphaString(), UserAssignedIdentityDetails_ARMGenerator()) +} + +func Test_MySQLServerSku_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MySQLServerSku_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMySQLServerSku_ARM, MySQLServerSku_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMySQLServerSku_ARM runs a test to see if a specific instance of MySQLServerSku_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForMySQLServerSku_ARM(subject MySQLServerSku_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MySQLServerSku_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MySQLServerSku_ARM instances for property testing - lazily instantiated by MySQLServerSku_ARMGenerator() +var mySQLServerSku_ARMGenerator gopter.Gen + +// MySQLServerSku_ARMGenerator returns a generator of MySQLServerSku_ARM instances for property testing. +func MySQLServerSku_ARMGenerator() gopter.Gen { + if mySQLServerSku_ARMGenerator != nil { + return mySQLServerSku_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMySQLServerSku_ARM(generators) + mySQLServerSku_ARMGenerator = gen.Struct(reflect.TypeOf(MySQLServerSku_ARM{}), generators) + + return mySQLServerSku_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForMySQLServerSku_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMySQLServerSku_ARM(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tier"] = gen.PtrOf(gen.OneConstOf(MySQLServerSku_Tier_Burstable, MySQLServerSku_Tier_GeneralPurpose, MySQLServerSku_Tier_MemoryOptimized)) +} + +func Test_ServerProperties_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ServerProperties_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForServerProperties_ARM, ServerProperties_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForServerProperties_ARM runs a test to see if a specific instance of ServerProperties_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForServerProperties_ARM(subject ServerProperties_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ServerProperties_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ServerProperties_ARM instances for property testing - lazily instantiated by +// ServerProperties_ARMGenerator() +var serverProperties_ARMGenerator gopter.Gen + +// ServerProperties_ARMGenerator returns a generator of ServerProperties_ARM instances for property testing. +// We first initialize serverProperties_ARMGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ServerProperties_ARMGenerator() gopter.Gen { + if serverProperties_ARMGenerator != nil { + return serverProperties_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServerProperties_ARM(generators) + serverProperties_ARMGenerator = gen.Struct(reflect.TypeOf(ServerProperties_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServerProperties_ARM(generators) + AddRelatedPropertyGeneratorsForServerProperties_ARM(generators) + serverProperties_ARMGenerator = gen.Struct(reflect.TypeOf(ServerProperties_ARM{}), generators) + + return serverProperties_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForServerProperties_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForServerProperties_ARM(gens map[string]gopter.Gen) { + gens["AdministratorLogin"] = gen.PtrOf(gen.AlphaString()) + gens["AdministratorLoginPassword"] = gen.PtrOf(gen.AlphaString()) + gens["AvailabilityZone"] = gen.PtrOf(gen.AlphaString()) + gens["CreateMode"] = gen.PtrOf(gen.OneConstOf( + ServerProperties_CreateMode_Default, + ServerProperties_CreateMode_GeoRestore, + ServerProperties_CreateMode_PointInTimeRestore, + ServerProperties_CreateMode_Replica)) + gens["ReplicationRole"] = gen.PtrOf(gen.OneConstOf(ReplicationRole_None, ReplicationRole_Replica, ReplicationRole_Source)) + gens["RestorePointInTime"] = gen.PtrOf(gen.AlphaString()) + gens["SourceServerResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["Version"] = gen.PtrOf(gen.OneConstOf(ServerVersion_57, ServerVersion_8021)) +} + +// AddRelatedPropertyGeneratorsForServerProperties_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForServerProperties_ARM(gens map[string]gopter.Gen) { + gens["Backup"] = gen.PtrOf(Backup_ARMGenerator()) + gens["DataEncryption"] = gen.PtrOf(DataEncryption_ARMGenerator()) + gens["HighAvailability"] = gen.PtrOf(HighAvailability_ARMGenerator()) + gens["ImportSourceProperties"] = gen.PtrOf(ImportSourceProperties_ARMGenerator()) + gens["MaintenanceWindow"] = gen.PtrOf(MaintenanceWindow_ARMGenerator()) + gens["Network"] = gen.PtrOf(Network_ARMGenerator()) + gens["Storage"] = gen.PtrOf(Storage_ARMGenerator()) +} + +func Test_Backup_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Backup_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBackup_ARM, Backup_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBackup_ARM runs a test to see if a specific instance of Backup_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForBackup_ARM(subject Backup_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Backup_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Backup_ARM instances for property testing - lazily instantiated by Backup_ARMGenerator() +var backup_ARMGenerator gopter.Gen + +// Backup_ARMGenerator returns a generator of Backup_ARM instances for property testing. +func Backup_ARMGenerator() gopter.Gen { + if backup_ARMGenerator != nil { + return backup_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBackup_ARM(generators) + backup_ARMGenerator = gen.Struct(reflect.TypeOf(Backup_ARM{}), generators) + + return backup_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForBackup_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBackup_ARM(gens map[string]gopter.Gen) { + gens["BackupRetentionDays"] = gen.PtrOf(gen.Int()) + gens["GeoRedundantBackup"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_Disabled, EnableStatusEnum_Enabled)) +} + +func Test_DataEncryption_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DataEncryption_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDataEncryption_ARM, DataEncryption_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDataEncryption_ARM runs a test to see if a specific instance of DataEncryption_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForDataEncryption_ARM(subject DataEncryption_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DataEncryption_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DataEncryption_ARM instances for property testing - lazily instantiated by DataEncryption_ARMGenerator() +var dataEncryption_ARMGenerator gopter.Gen + +// DataEncryption_ARMGenerator returns a generator of DataEncryption_ARM instances for property testing. +func DataEncryption_ARMGenerator() gopter.Gen { + if dataEncryption_ARMGenerator != nil { + return dataEncryption_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDataEncryption_ARM(generators) + dataEncryption_ARMGenerator = gen.Struct(reflect.TypeOf(DataEncryption_ARM{}), generators) + + return dataEncryption_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForDataEncryption_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDataEncryption_ARM(gens map[string]gopter.Gen) { + gens["GeoBackupKeyURI"] = gen.PtrOf(gen.AlphaString()) + gens["GeoBackupUserAssignedIdentityId"] = gen.PtrOf(gen.AlphaString()) + gens["PrimaryKeyURI"] = gen.PtrOf(gen.AlphaString()) + gens["PrimaryUserAssignedIdentityId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(DataEncryption_Type_AzureKeyVault, DataEncryption_Type_SystemManaged)) +} + +func Test_HighAvailability_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HighAvailability_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHighAvailability_ARM, HighAvailability_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHighAvailability_ARM runs a test to see if a specific instance of HighAvailability_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForHighAvailability_ARM(subject HighAvailability_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HighAvailability_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HighAvailability_ARM instances for property testing - lazily instantiated by +// HighAvailability_ARMGenerator() +var highAvailability_ARMGenerator gopter.Gen + +// HighAvailability_ARMGenerator returns a generator of HighAvailability_ARM instances for property testing. +func HighAvailability_ARMGenerator() gopter.Gen { + if highAvailability_ARMGenerator != nil { + return highAvailability_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHighAvailability_ARM(generators) + highAvailability_ARMGenerator = gen.Struct(reflect.TypeOf(HighAvailability_ARM{}), generators) + + return highAvailability_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForHighAvailability_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHighAvailability_ARM(gens map[string]gopter.Gen) { + gens["Mode"] = gen.PtrOf(gen.OneConstOf(HighAvailability_Mode_Disabled, HighAvailability_Mode_SameZone, HighAvailability_Mode_ZoneRedundant)) + gens["StandbyAvailabilityZone"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ImportSourceProperties_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ImportSourceProperties_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForImportSourceProperties_ARM, ImportSourceProperties_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForImportSourceProperties_ARM runs a test to see if a specific instance of ImportSourceProperties_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForImportSourceProperties_ARM(subject ImportSourceProperties_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ImportSourceProperties_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ImportSourceProperties_ARM instances for property testing - lazily instantiated by +// ImportSourceProperties_ARMGenerator() +var importSourceProperties_ARMGenerator gopter.Gen + +// ImportSourceProperties_ARMGenerator returns a generator of ImportSourceProperties_ARM instances for property testing. +func ImportSourceProperties_ARMGenerator() gopter.Gen { + if importSourceProperties_ARMGenerator != nil { + return importSourceProperties_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForImportSourceProperties_ARM(generators) + importSourceProperties_ARMGenerator = gen.Struct(reflect.TypeOf(ImportSourceProperties_ARM{}), generators) + + return importSourceProperties_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForImportSourceProperties_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForImportSourceProperties_ARM(gens map[string]gopter.Gen) { + gens["DataDirPath"] = gen.PtrOf(gen.AlphaString()) + gens["SasToken"] = gen.PtrOf(gen.AlphaString()) + gens["StorageType"] = gen.PtrOf(gen.OneConstOf(ImportSourceProperties_StorageType_AzureBlob)) + gens["StorageUrl"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_MaintenanceWindow_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceWindow_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceWindow_ARM, MaintenanceWindow_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceWindow_ARM runs a test to see if a specific instance of MaintenanceWindow_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceWindow_ARM(subject MaintenanceWindow_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceWindow_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceWindow_ARM instances for property testing - lazily instantiated by +// MaintenanceWindow_ARMGenerator() +var maintenanceWindow_ARMGenerator gopter.Gen + +// MaintenanceWindow_ARMGenerator returns a generator of MaintenanceWindow_ARM instances for property testing. +func MaintenanceWindow_ARMGenerator() gopter.Gen { + if maintenanceWindow_ARMGenerator != nil { + return maintenanceWindow_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow_ARM(generators) + maintenanceWindow_ARMGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow_ARM{}), generators) + + return maintenanceWindow_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceWindow_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceWindow_ARM(gens map[string]gopter.Gen) { + gens["CustomWindow"] = gen.PtrOf(gen.AlphaString()) + gens["DayOfWeek"] = gen.PtrOf(gen.Int()) + gens["StartHour"] = gen.PtrOf(gen.Int()) + gens["StartMinute"] = gen.PtrOf(gen.Int()) +} + +func Test_Network_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Network_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNetwork_ARM, Network_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNetwork_ARM runs a test to see if a specific instance of Network_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForNetwork_ARM(subject Network_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Network_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Network_ARM instances for property testing - lazily instantiated by Network_ARMGenerator() +var network_ARMGenerator gopter.Gen + +// Network_ARMGenerator returns a generator of Network_ARM instances for property testing. +func Network_ARMGenerator() gopter.Gen { + if network_ARMGenerator != nil { + return network_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNetwork_ARM(generators) + network_ARMGenerator = gen.Struct(reflect.TypeOf(Network_ARM{}), generators) + + return network_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForNetwork_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNetwork_ARM(gens map[string]gopter.Gen) { + gens["DelegatedSubnetResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["PrivateDnsZoneResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["PublicNetworkAccess"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_Disabled, EnableStatusEnum_Enabled)) +} + +func Test_Storage_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Storage_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForStorage_ARM, Storage_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForStorage_ARM runs a test to see if a specific instance of Storage_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForStorage_ARM(subject Storage_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Storage_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Storage_ARM instances for property testing - lazily instantiated by Storage_ARMGenerator() +var storage_ARMGenerator gopter.Gen + +// Storage_ARMGenerator returns a generator of Storage_ARM instances for property testing. +func Storage_ARMGenerator() gopter.Gen { + if storage_ARMGenerator != nil { + return storage_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForStorage_ARM(generators) + storage_ARMGenerator = gen.Struct(reflect.TypeOf(Storage_ARM{}), generators) + + return storage_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForStorage_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForStorage_ARM(gens map[string]gopter.Gen) { + gens["AutoGrow"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_Disabled, EnableStatusEnum_Enabled)) + gens["AutoIoScaling"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_Disabled, EnableStatusEnum_Enabled)) + gens["Iops"] = gen.PtrOf(gen.Int()) + gens["LogOnDisk"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_Disabled, EnableStatusEnum_Enabled)) + gens["StorageSizeGB"] = gen.PtrOf(gen.Int()) +} + +func Test_UserAssignedIdentityDetails_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentityDetails_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentityDetails_ARM, UserAssignedIdentityDetails_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentityDetails_ARM runs a test to see if a specific instance of UserAssignedIdentityDetails_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentityDetails_ARM(subject UserAssignedIdentityDetails_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentityDetails_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentityDetails_ARM instances for property testing - lazily instantiated by +// UserAssignedIdentityDetails_ARMGenerator() +var userAssignedIdentityDetails_ARMGenerator gopter.Gen + +// UserAssignedIdentityDetails_ARMGenerator returns a generator of UserAssignedIdentityDetails_ARM instances for property testing. +func UserAssignedIdentityDetails_ARMGenerator() gopter.Gen { + if userAssignedIdentityDetails_ARMGenerator != nil { + return userAssignedIdentityDetails_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + userAssignedIdentityDetails_ARMGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentityDetails_ARM{}), generators) + + return userAssignedIdentityDetails_ARMGenerator +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_server_status_arm_types_gen.go b/v2/api/dbformysql/v1api20230630/flexible_server_status_arm_types_gen.go new file mode 100644 index 00000000000..61d3f8ca1a8 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_server_status_arm_types_gen.go @@ -0,0 +1,308 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" + +type FlexibleServer_STATUS_ARM struct { + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Identity: The cmk identity for the server. + Identity *MySQLServerIdentity_STATUS_ARM `json:"identity,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Properties: Properties of the server. + Properties *ServerProperties_STATUS_ARM `json:"properties,omitempty"` + + // Sku: The SKU (pricing tier) of the server. + Sku *MySQLServerSku_STATUS_ARM `json:"sku,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS_ARM `json:"systemData,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +// Properties to configure Identity for Bring your Own Keys +type MySQLServerIdentity_STATUS_ARM struct { + // PrincipalId: ObjectId from the KeyVault + PrincipalId *string `json:"principalId,omitempty"` + + // TenantId: TenantId from the KeyVault + TenantId *string `json:"tenantId,omitempty"` + + // Type: Type of managed service identity. + Type *MySQLServerIdentity_Type_STATUS `json:"type,omitempty"` + + // UserAssignedIdentities: Metadata of user assigned identity. + UserAssignedIdentities map[string]v1.JSON `json:"userAssignedIdentities,omitempty"` +} + +// Billing information related properties of a server. +type MySQLServerSku_STATUS_ARM struct { + // Name: The name of the sku, e.g. Standard_D32s_v3. + Name *string `json:"name,omitempty"` + + // Tier: The tier of the particular SKU, e.g. GeneralPurpose. + Tier *MySQLServerSku_Tier_STATUS `json:"tier,omitempty"` +} + +// The properties of a server. +type ServerProperties_STATUS_ARM struct { + // AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + // (and is required for creation). + AdministratorLogin *string `json:"administratorLogin,omitempty"` + + // AvailabilityZone: availability Zone information of the server. + AvailabilityZone *string `json:"availabilityZone,omitempty"` + + // Backup: Backup related properties of a server. + Backup *Backup_STATUS_ARM `json:"backup,omitempty"` + + // CreateMode: The mode to create a new MySQL server. + CreateMode *ServerProperties_CreateMode_STATUS `json:"createMode,omitempty"` + + // DataEncryption: The Data Encryption for CMK. + DataEncryption *DataEncryption_STATUS_ARM `json:"dataEncryption,omitempty"` + + // FullyQualifiedDomainName: The fully qualified domain name of a server. + FullyQualifiedDomainName *string `json:"fullyQualifiedDomainName,omitempty"` + + // HighAvailability: High availability related properties of a server. + HighAvailability *HighAvailability_STATUS_ARM `json:"highAvailability,omitempty"` + + // ImportSourceProperties: Source properties for import from storage. + ImportSourceProperties *ImportSourceProperties_STATUS_ARM `json:"importSourceProperties,omitempty"` + + // MaintenanceWindow: Maintenance window of a server. + MaintenanceWindow *MaintenanceWindow_STATUS_ARM `json:"maintenanceWindow,omitempty"` + + // Network: Network related properties of a server. + Network *Network_STATUS_ARM `json:"network,omitempty"` + + // PrivateEndpointConnections: PrivateEndpointConnections related properties of a server. + PrivateEndpointConnections []PrivateEndpointConnection_STATUS_ARM `json:"privateEndpointConnections,omitempty"` + + // ReplicaCapacity: The maximum number of replicas that a primary server can have. + ReplicaCapacity *int `json:"replicaCapacity,omitempty"` + + // ReplicationRole: The replication role. + ReplicationRole *ReplicationRole_STATUS `json:"replicationRole,omitempty"` + + // RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from. + RestorePointInTime *string `json:"restorePointInTime,omitempty"` + + // SourceServerResourceId: The source MySQL server id. + SourceServerResourceId *string `json:"sourceServerResourceId,omitempty"` + + // State: The state of a server. + State *ServerProperties_State_STATUS `json:"state,omitempty"` + + // Storage: Storage related properties of a server. + Storage *Storage_STATUS_ARM `json:"storage,omitempty"` + + // Version: Server version. + Version *ServerVersion_STATUS `json:"version,omitempty"` +} + +// Metadata pertaining to creation and last modification of the resource. +type SystemData_STATUS_ARM struct { + // CreatedAt: The timestamp of resource creation (UTC). + CreatedAt *string `json:"createdAt,omitempty"` + + // CreatedBy: The identity that created the resource. + CreatedBy *string `json:"createdBy,omitempty"` + + // CreatedByType: The type of identity that created the resource. + CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"` + + // LastModifiedAt: The timestamp of resource last modification (UTC) + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + + // LastModifiedBy: The identity that last modified the resource. + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + + // LastModifiedByType: The type of identity that last modified the resource. + LastModifiedByType *SystemData_LastModifiedByType_STATUS `json:"lastModifiedByType,omitempty"` +} + +// Storage Profile properties of a server +type Backup_STATUS_ARM struct { + // BackupRetentionDays: Backup retention days for the server. + BackupRetentionDays *int `json:"backupRetentionDays,omitempty"` + + // EarliestRestoreDate: Earliest restore point creation time (ISO8601 format) + EarliestRestoreDate *string `json:"earliestRestoreDate,omitempty"` + + // GeoRedundantBackup: Whether or not geo redundant backup is enabled. + GeoRedundantBackup *EnableStatusEnum_STATUS `json:"geoRedundantBackup,omitempty"` +} + +// The date encryption for cmk. +type DataEncryption_STATUS_ARM struct { + // GeoBackupKeyURI: Geo backup key uri as key vault can't cross region, need cmk in same region as geo backup + GeoBackupKeyURI *string `json:"geoBackupKeyURI,omitempty"` + + // GeoBackupUserAssignedIdentityId: Geo backup user identity resource id as identity can't cross region, need identity in + // same region as geo backup + GeoBackupUserAssignedIdentityId *string `json:"geoBackupUserAssignedIdentityId,omitempty"` + + // PrimaryKeyURI: Primary key uri + PrimaryKeyURI *string `json:"primaryKeyURI,omitempty"` + + // PrimaryUserAssignedIdentityId: Primary user identity resource id + PrimaryUserAssignedIdentityId *string `json:"primaryUserAssignedIdentityId,omitempty"` + + // Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk. + Type *DataEncryption_Type_STATUS `json:"type,omitempty"` +} + +// Network related properties of a server +type HighAvailability_STATUS_ARM struct { + // Mode: High availability mode for a server. + Mode *HighAvailability_Mode_STATUS `json:"mode,omitempty"` + + // StandbyAvailabilityZone: Availability zone of the standby server. + StandbyAvailabilityZone *string `json:"standbyAvailabilityZone,omitempty"` + + // State: The state of server high availability. + State *HighAvailability_State_STATUS `json:"state,omitempty"` +} + +// Import source related properties. +type ImportSourceProperties_STATUS_ARM struct { + // DataDirPath: Relative path of data directory in storage. + DataDirPath *string `json:"dataDirPath,omitempty"` + + // StorageType: Storage type of import source. + StorageType *ImportSourceProperties_StorageType_STATUS `json:"storageType,omitempty"` + + // StorageUrl: Uri of the import source storage. + StorageUrl *string `json:"storageUrl,omitempty"` +} + +// Maintenance window of a server. +type MaintenanceWindow_STATUS_ARM struct { + // CustomWindow: indicates whether custom window is enabled or disabled + CustomWindow *string `json:"customWindow,omitempty"` + + // DayOfWeek: day of week for maintenance window + DayOfWeek *int `json:"dayOfWeek,omitempty"` + + // StartHour: start hour for maintenance window + StartHour *int `json:"startHour,omitempty"` + + // StartMinute: start minute for maintenance window + StartMinute *int `json:"startMinute,omitempty"` +} + +type MySQLServerIdentity_Type_STATUS string + +const MySQLServerIdentity_Type_STATUS_UserAssigned = MySQLServerIdentity_Type_STATUS("UserAssigned") + +// Mapping from string to MySQLServerIdentity_Type_STATUS +var mySQLServerIdentity_Type_STATUS_Values = map[string]MySQLServerIdentity_Type_STATUS{ + "userassigned": MySQLServerIdentity_Type_STATUS_UserAssigned, +} + +type MySQLServerSku_Tier_STATUS string + +const ( + MySQLServerSku_Tier_STATUS_Burstable = MySQLServerSku_Tier_STATUS("Burstable") + MySQLServerSku_Tier_STATUS_GeneralPurpose = MySQLServerSku_Tier_STATUS("GeneralPurpose") + MySQLServerSku_Tier_STATUS_MemoryOptimized = MySQLServerSku_Tier_STATUS("MemoryOptimized") +) + +// Mapping from string to MySQLServerSku_Tier_STATUS +var mySQLServerSku_Tier_STATUS_Values = map[string]MySQLServerSku_Tier_STATUS{ + "burstable": MySQLServerSku_Tier_STATUS_Burstable, + "generalpurpose": MySQLServerSku_Tier_STATUS_GeneralPurpose, + "memoryoptimized": MySQLServerSku_Tier_STATUS_MemoryOptimized, +} + +// Network related properties of a server +type Network_STATUS_ARM struct { + // DelegatedSubnetResourceId: Delegated subnet resource id used to setup vnet for a server. + DelegatedSubnetResourceId *string `json:"delegatedSubnetResourceId,omitempty"` + + // PrivateDnsZoneResourceId: Private DNS zone resource id. + PrivateDnsZoneResourceId *string `json:"privateDnsZoneResourceId,omitempty"` + + // PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server + // has VNet integration. + PublicNetworkAccess *EnableStatusEnum_STATUS `json:"publicNetworkAccess,omitempty"` +} + +// The private endpoint connection resource. +type PrivateEndpointConnection_STATUS_ARM struct { + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` +} + +// Storage Profile properties of a server +type Storage_STATUS_ARM struct { + // AutoGrow: Enable Storage Auto Grow or not. + AutoGrow *EnableStatusEnum_STATUS `json:"autoGrow,omitempty"` + + // AutoIoScaling: Enable IO Auto Scaling or not. + AutoIoScaling *EnableStatusEnum_STATUS `json:"autoIoScaling,omitempty"` + + // Iops: Storage IOPS for a server. + Iops *int `json:"iops,omitempty"` + + // LogOnDisk: Enable Log On Disk or not. + LogOnDisk *EnableStatusEnum_STATUS `json:"logOnDisk,omitempty"` + + // StorageSizeGB: Max storage size allowed for a server. + StorageSizeGB *int `json:"storageSizeGB,omitempty"` + + // StorageSku: The sku name of the server storage. + StorageSku *string `json:"storageSku,omitempty"` +} + +type SystemData_CreatedByType_STATUS string + +const ( + SystemData_CreatedByType_STATUS_Application = SystemData_CreatedByType_STATUS("Application") + SystemData_CreatedByType_STATUS_Key = SystemData_CreatedByType_STATUS("Key") + SystemData_CreatedByType_STATUS_ManagedIdentity = SystemData_CreatedByType_STATUS("ManagedIdentity") + SystemData_CreatedByType_STATUS_User = SystemData_CreatedByType_STATUS("User") +) + +// Mapping from string to SystemData_CreatedByType_STATUS +var systemData_CreatedByType_STATUS_Values = map[string]SystemData_CreatedByType_STATUS{ + "application": SystemData_CreatedByType_STATUS_Application, + "key": SystemData_CreatedByType_STATUS_Key, + "managedidentity": SystemData_CreatedByType_STATUS_ManagedIdentity, + "user": SystemData_CreatedByType_STATUS_User, +} + +type SystemData_LastModifiedByType_STATUS string + +const ( + SystemData_LastModifiedByType_STATUS_Application = SystemData_LastModifiedByType_STATUS("Application") + SystemData_LastModifiedByType_STATUS_Key = SystemData_LastModifiedByType_STATUS("Key") + SystemData_LastModifiedByType_STATUS_ManagedIdentity = SystemData_LastModifiedByType_STATUS("ManagedIdentity") + SystemData_LastModifiedByType_STATUS_User = SystemData_LastModifiedByType_STATUS("User") +) + +// Mapping from string to SystemData_LastModifiedByType_STATUS +var systemData_LastModifiedByType_STATUS_Values = map[string]SystemData_LastModifiedByType_STATUS{ + "application": SystemData_LastModifiedByType_STATUS_Application, + "key": SystemData_LastModifiedByType_STATUS_Key, + "managedidentity": SystemData_LastModifiedByType_STATUS_ManagedIdentity, + "user": SystemData_LastModifiedByType_STATUS_User, +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_server_status_arm_types_gen_test.go b/v2/api/dbformysql/v1api20230630/flexible_server_status_arm_types_gen_test.go new file mode 100644 index 00000000000..540460b2185 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_server_status_arm_types_gen_test.go @@ -0,0 +1,911 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServer_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServer_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServer_STATUS_ARM, FlexibleServer_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServer_STATUS_ARM runs a test to see if a specific instance of FlexibleServer_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServer_STATUS_ARM(subject FlexibleServer_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServer_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServer_STATUS_ARM instances for property testing - lazily instantiated by +// FlexibleServer_STATUS_ARMGenerator() +var flexibleServer_STATUS_ARMGenerator gopter.Gen + +// FlexibleServer_STATUS_ARMGenerator returns a generator of FlexibleServer_STATUS_ARM instances for property testing. +// We first initialize flexibleServer_STATUS_ARMGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServer_STATUS_ARMGenerator() gopter.Gen { + if flexibleServer_STATUS_ARMGenerator != nil { + return flexibleServer_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServer_STATUS_ARM(generators) + flexibleServer_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServer_STATUS_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServer_STATUS_ARM(generators) + AddRelatedPropertyGeneratorsForFlexibleServer_STATUS_ARM(generators) + flexibleServer_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServer_STATUS_ARM{}), generators) + + return flexibleServer_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServer_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServer_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf(gen.AlphaString(), gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServer_STATUS_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServer_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Identity"] = gen.PtrOf(MySQLServerIdentity_STATUS_ARMGenerator()) + gens["Properties"] = gen.PtrOf(ServerProperties_STATUS_ARMGenerator()) + gens["Sku"] = gen.PtrOf(MySQLServerSku_STATUS_ARMGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUS_ARMGenerator()) +} + +func Test_MySQLServerIdentity_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MySQLServerIdentity_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMySQLServerIdentity_STATUS_ARM, MySQLServerIdentity_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMySQLServerIdentity_STATUS_ARM runs a test to see if a specific instance of MySQLServerIdentity_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForMySQLServerIdentity_STATUS_ARM(subject MySQLServerIdentity_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MySQLServerIdentity_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MySQLServerIdentity_STATUS_ARM instances for property testing - lazily instantiated by +// MySQLServerIdentity_STATUS_ARMGenerator() +var mySQLServerIdentity_STATUS_ARMGenerator gopter.Gen + +// MySQLServerIdentity_STATUS_ARMGenerator returns a generator of MySQLServerIdentity_STATUS_ARM instances for property testing. +func MySQLServerIdentity_STATUS_ARMGenerator() gopter.Gen { + if mySQLServerIdentity_STATUS_ARMGenerator != nil { + return mySQLServerIdentity_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMySQLServerIdentity_STATUS_ARM(generators) + mySQLServerIdentity_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(MySQLServerIdentity_STATUS_ARM{}), generators) + + return mySQLServerIdentity_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForMySQLServerIdentity_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMySQLServerIdentity_STATUS_ARM(gens map[string]gopter.Gen) { + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(MySQLServerIdentity_Type_STATUS_UserAssigned)) +} + +func Test_MySQLServerSku_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MySQLServerSku_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMySQLServerSku_STATUS_ARM, MySQLServerSku_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMySQLServerSku_STATUS_ARM runs a test to see if a specific instance of MySQLServerSku_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForMySQLServerSku_STATUS_ARM(subject MySQLServerSku_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MySQLServerSku_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MySQLServerSku_STATUS_ARM instances for property testing - lazily instantiated by +// MySQLServerSku_STATUS_ARMGenerator() +var mySQLServerSku_STATUS_ARMGenerator gopter.Gen + +// MySQLServerSku_STATUS_ARMGenerator returns a generator of MySQLServerSku_STATUS_ARM instances for property testing. +func MySQLServerSku_STATUS_ARMGenerator() gopter.Gen { + if mySQLServerSku_STATUS_ARMGenerator != nil { + return mySQLServerSku_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMySQLServerSku_STATUS_ARM(generators) + mySQLServerSku_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(MySQLServerSku_STATUS_ARM{}), generators) + + return mySQLServerSku_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForMySQLServerSku_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMySQLServerSku_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tier"] = gen.PtrOf(gen.OneConstOf(MySQLServerSku_Tier_STATUS_Burstable, MySQLServerSku_Tier_STATUS_GeneralPurpose, MySQLServerSku_Tier_STATUS_MemoryOptimized)) +} + +func Test_ServerProperties_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ServerProperties_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForServerProperties_STATUS_ARM, ServerProperties_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForServerProperties_STATUS_ARM runs a test to see if a specific instance of ServerProperties_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForServerProperties_STATUS_ARM(subject ServerProperties_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ServerProperties_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ServerProperties_STATUS_ARM instances for property testing - lazily instantiated by +// ServerProperties_STATUS_ARMGenerator() +var serverProperties_STATUS_ARMGenerator gopter.Gen + +// ServerProperties_STATUS_ARMGenerator returns a generator of ServerProperties_STATUS_ARM instances for property testing. +// We first initialize serverProperties_STATUS_ARMGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func ServerProperties_STATUS_ARMGenerator() gopter.Gen { + if serverProperties_STATUS_ARMGenerator != nil { + return serverProperties_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServerProperties_STATUS_ARM(generators) + serverProperties_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(ServerProperties_STATUS_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForServerProperties_STATUS_ARM(generators) + AddRelatedPropertyGeneratorsForServerProperties_STATUS_ARM(generators) + serverProperties_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(ServerProperties_STATUS_ARM{}), generators) + + return serverProperties_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForServerProperties_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForServerProperties_STATUS_ARM(gens map[string]gopter.Gen) { + gens["AdministratorLogin"] = gen.PtrOf(gen.AlphaString()) + gens["AvailabilityZone"] = gen.PtrOf(gen.AlphaString()) + gens["CreateMode"] = gen.PtrOf(gen.OneConstOf( + ServerProperties_CreateMode_STATUS_Default, + ServerProperties_CreateMode_STATUS_GeoRestore, + ServerProperties_CreateMode_STATUS_PointInTimeRestore, + ServerProperties_CreateMode_STATUS_Replica)) + gens["FullyQualifiedDomainName"] = gen.PtrOf(gen.AlphaString()) + gens["ReplicaCapacity"] = gen.PtrOf(gen.Int()) + gens["ReplicationRole"] = gen.PtrOf(gen.OneConstOf(ReplicationRole_STATUS_None, ReplicationRole_STATUS_Replica, ReplicationRole_STATUS_Source)) + gens["RestorePointInTime"] = gen.PtrOf(gen.AlphaString()) + gens["SourceServerResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["State"] = gen.PtrOf(gen.OneConstOf( + ServerProperties_State_STATUS_Disabled, + ServerProperties_State_STATUS_Dropping, + ServerProperties_State_STATUS_Ready, + ServerProperties_State_STATUS_Starting, + ServerProperties_State_STATUS_Stopped, + ServerProperties_State_STATUS_Stopping, + ServerProperties_State_STATUS_Updating)) + gens["Version"] = gen.PtrOf(gen.OneConstOf(ServerVersion_STATUS_57, ServerVersion_STATUS_8021)) +} + +// AddRelatedPropertyGeneratorsForServerProperties_STATUS_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForServerProperties_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Backup"] = gen.PtrOf(Backup_STATUS_ARMGenerator()) + gens["DataEncryption"] = gen.PtrOf(DataEncryption_STATUS_ARMGenerator()) + gens["HighAvailability"] = gen.PtrOf(HighAvailability_STATUS_ARMGenerator()) + gens["ImportSourceProperties"] = gen.PtrOf(ImportSourceProperties_STATUS_ARMGenerator()) + gens["MaintenanceWindow"] = gen.PtrOf(MaintenanceWindow_STATUS_ARMGenerator()) + gens["Network"] = gen.PtrOf(Network_STATUS_ARMGenerator()) + gens["PrivateEndpointConnections"] = gen.SliceOf(PrivateEndpointConnection_STATUS_ARMGenerator()) + gens["Storage"] = gen.PtrOf(Storage_STATUS_ARMGenerator()) +} + +func Test_SystemData_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SystemData_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSystemData_STATUS_ARM, SystemData_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSystemData_STATUS_ARM runs a test to see if a specific instance of SystemData_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForSystemData_STATUS_ARM(subject SystemData_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SystemData_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SystemData_STATUS_ARM instances for property testing - lazily instantiated by +// SystemData_STATUS_ARMGenerator() +var systemData_STATUS_ARMGenerator gopter.Gen + +// SystemData_STATUS_ARMGenerator returns a generator of SystemData_STATUS_ARM instances for property testing. +func SystemData_STATUS_ARMGenerator() gopter.Gen { + if systemData_STATUS_ARMGenerator != nil { + return systemData_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSystemData_STATUS_ARM(generators) + systemData_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(SystemData_STATUS_ARM{}), generators) + + return systemData_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForSystemData_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSystemData_STATUS_ARM(gens map[string]gopter.Gen) { + gens["CreatedAt"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedBy"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_CreatedByType_STATUS_Application, + SystemData_CreatedByType_STATUS_Key, + SystemData_CreatedByType_STATUS_ManagedIdentity, + SystemData_CreatedByType_STATUS_User)) + gens["LastModifiedAt"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedBy"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_LastModifiedByType_STATUS_Application, + SystemData_LastModifiedByType_STATUS_Key, + SystemData_LastModifiedByType_STATUS_ManagedIdentity, + SystemData_LastModifiedByType_STATUS_User)) +} + +func Test_Backup_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Backup_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBackup_STATUS_ARM, Backup_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBackup_STATUS_ARM runs a test to see if a specific instance of Backup_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForBackup_STATUS_ARM(subject Backup_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Backup_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Backup_STATUS_ARM instances for property testing - lazily instantiated by Backup_STATUS_ARMGenerator() +var backup_STATUS_ARMGenerator gopter.Gen + +// Backup_STATUS_ARMGenerator returns a generator of Backup_STATUS_ARM instances for property testing. +func Backup_STATUS_ARMGenerator() gopter.Gen { + if backup_STATUS_ARMGenerator != nil { + return backup_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBackup_STATUS_ARM(generators) + backup_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(Backup_STATUS_ARM{}), generators) + + return backup_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForBackup_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBackup_STATUS_ARM(gens map[string]gopter.Gen) { + gens["BackupRetentionDays"] = gen.PtrOf(gen.Int()) + gens["EarliestRestoreDate"] = gen.PtrOf(gen.AlphaString()) + gens["GeoRedundantBackup"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_STATUS_Disabled, EnableStatusEnum_STATUS_Enabled)) +} + +func Test_DataEncryption_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DataEncryption_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDataEncryption_STATUS_ARM, DataEncryption_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDataEncryption_STATUS_ARM runs a test to see if a specific instance of DataEncryption_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForDataEncryption_STATUS_ARM(subject DataEncryption_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DataEncryption_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DataEncryption_STATUS_ARM instances for property testing - lazily instantiated by +// DataEncryption_STATUS_ARMGenerator() +var dataEncryption_STATUS_ARMGenerator gopter.Gen + +// DataEncryption_STATUS_ARMGenerator returns a generator of DataEncryption_STATUS_ARM instances for property testing. +func DataEncryption_STATUS_ARMGenerator() gopter.Gen { + if dataEncryption_STATUS_ARMGenerator != nil { + return dataEncryption_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDataEncryption_STATUS_ARM(generators) + dataEncryption_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(DataEncryption_STATUS_ARM{}), generators) + + return dataEncryption_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForDataEncryption_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDataEncryption_STATUS_ARM(gens map[string]gopter.Gen) { + gens["GeoBackupKeyURI"] = gen.PtrOf(gen.AlphaString()) + gens["GeoBackupUserAssignedIdentityId"] = gen.PtrOf(gen.AlphaString()) + gens["PrimaryKeyURI"] = gen.PtrOf(gen.AlphaString()) + gens["PrimaryUserAssignedIdentityId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(DataEncryption_Type_STATUS_AzureKeyVault, DataEncryption_Type_STATUS_SystemManaged)) +} + +func Test_HighAvailability_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HighAvailability_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHighAvailability_STATUS_ARM, HighAvailability_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHighAvailability_STATUS_ARM runs a test to see if a specific instance of HighAvailability_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForHighAvailability_STATUS_ARM(subject HighAvailability_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HighAvailability_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HighAvailability_STATUS_ARM instances for property testing - lazily instantiated by +// HighAvailability_STATUS_ARMGenerator() +var highAvailability_STATUS_ARMGenerator gopter.Gen + +// HighAvailability_STATUS_ARMGenerator returns a generator of HighAvailability_STATUS_ARM instances for property testing. +func HighAvailability_STATUS_ARMGenerator() gopter.Gen { + if highAvailability_STATUS_ARMGenerator != nil { + return highAvailability_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHighAvailability_STATUS_ARM(generators) + highAvailability_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(HighAvailability_STATUS_ARM{}), generators) + + return highAvailability_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForHighAvailability_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHighAvailability_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Mode"] = gen.PtrOf(gen.OneConstOf(HighAvailability_Mode_STATUS_Disabled, HighAvailability_Mode_STATUS_SameZone, HighAvailability_Mode_STATUS_ZoneRedundant)) + gens["StandbyAvailabilityZone"] = gen.PtrOf(gen.AlphaString()) + gens["State"] = gen.PtrOf(gen.OneConstOf( + HighAvailability_State_STATUS_CreatingStandby, + HighAvailability_State_STATUS_FailingOver, + HighAvailability_State_STATUS_Healthy, + HighAvailability_State_STATUS_NotEnabled, + HighAvailability_State_STATUS_RemovingStandby)) +} + +func Test_ImportSourceProperties_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ImportSourceProperties_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForImportSourceProperties_STATUS_ARM, ImportSourceProperties_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForImportSourceProperties_STATUS_ARM runs a test to see if a specific instance of ImportSourceProperties_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForImportSourceProperties_STATUS_ARM(subject ImportSourceProperties_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ImportSourceProperties_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ImportSourceProperties_STATUS_ARM instances for property testing - lazily instantiated by +// ImportSourceProperties_STATUS_ARMGenerator() +var importSourceProperties_STATUS_ARMGenerator gopter.Gen + +// ImportSourceProperties_STATUS_ARMGenerator returns a generator of ImportSourceProperties_STATUS_ARM instances for property testing. +func ImportSourceProperties_STATUS_ARMGenerator() gopter.Gen { + if importSourceProperties_STATUS_ARMGenerator != nil { + return importSourceProperties_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForImportSourceProperties_STATUS_ARM(generators) + importSourceProperties_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(ImportSourceProperties_STATUS_ARM{}), generators) + + return importSourceProperties_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForImportSourceProperties_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForImportSourceProperties_STATUS_ARM(gens map[string]gopter.Gen) { + gens["DataDirPath"] = gen.PtrOf(gen.AlphaString()) + gens["StorageType"] = gen.PtrOf(gen.OneConstOf(ImportSourceProperties_StorageType_STATUS_AzureBlob)) + gens["StorageUrl"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_MaintenanceWindow_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceWindow_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceWindow_STATUS_ARM, MaintenanceWindow_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceWindow_STATUS_ARM runs a test to see if a specific instance of MaintenanceWindow_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceWindow_STATUS_ARM(subject MaintenanceWindow_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceWindow_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceWindow_STATUS_ARM instances for property testing - lazily instantiated by +// MaintenanceWindow_STATUS_ARMGenerator() +var maintenanceWindow_STATUS_ARMGenerator gopter.Gen + +// MaintenanceWindow_STATUS_ARMGenerator returns a generator of MaintenanceWindow_STATUS_ARM instances for property testing. +func MaintenanceWindow_STATUS_ARMGenerator() gopter.Gen { + if maintenanceWindow_STATUS_ARMGenerator != nil { + return maintenanceWindow_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS_ARM(generators) + maintenanceWindow_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow_STATUS_ARM{}), generators) + + return maintenanceWindow_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS_ARM(gens map[string]gopter.Gen) { + gens["CustomWindow"] = gen.PtrOf(gen.AlphaString()) + gens["DayOfWeek"] = gen.PtrOf(gen.Int()) + gens["StartHour"] = gen.PtrOf(gen.Int()) + gens["StartMinute"] = gen.PtrOf(gen.Int()) +} + +func Test_Network_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Network_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNetwork_STATUS_ARM, Network_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNetwork_STATUS_ARM runs a test to see if a specific instance of Network_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForNetwork_STATUS_ARM(subject Network_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Network_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Network_STATUS_ARM instances for property testing - lazily instantiated by Network_STATUS_ARMGenerator() +var network_STATUS_ARMGenerator gopter.Gen + +// Network_STATUS_ARMGenerator returns a generator of Network_STATUS_ARM instances for property testing. +func Network_STATUS_ARMGenerator() gopter.Gen { + if network_STATUS_ARMGenerator != nil { + return network_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNetwork_STATUS_ARM(generators) + network_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(Network_STATUS_ARM{}), generators) + + return network_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForNetwork_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNetwork_STATUS_ARM(gens map[string]gopter.Gen) { + gens["DelegatedSubnetResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["PrivateDnsZoneResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["PublicNetworkAccess"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_STATUS_Disabled, EnableStatusEnum_STATUS_Enabled)) +} + +func Test_PrivateEndpointConnection_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PrivateEndpointConnection_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPrivateEndpointConnection_STATUS_ARM, PrivateEndpointConnection_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPrivateEndpointConnection_STATUS_ARM runs a test to see if a specific instance of PrivateEndpointConnection_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForPrivateEndpointConnection_STATUS_ARM(subject PrivateEndpointConnection_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PrivateEndpointConnection_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PrivateEndpointConnection_STATUS_ARM instances for property testing - lazily instantiated by +// PrivateEndpointConnection_STATUS_ARMGenerator() +var privateEndpointConnection_STATUS_ARMGenerator gopter.Gen + +// PrivateEndpointConnection_STATUS_ARMGenerator returns a generator of PrivateEndpointConnection_STATUS_ARM instances for property testing. +func PrivateEndpointConnection_STATUS_ARMGenerator() gopter.Gen { + if privateEndpointConnection_STATUS_ARMGenerator != nil { + return privateEndpointConnection_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPrivateEndpointConnection_STATUS_ARM(generators) + privateEndpointConnection_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(PrivateEndpointConnection_STATUS_ARM{}), generators) + + return privateEndpointConnection_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForPrivateEndpointConnection_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPrivateEndpointConnection_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Storage_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Storage_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForStorage_STATUS_ARM, Storage_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForStorage_STATUS_ARM runs a test to see if a specific instance of Storage_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForStorage_STATUS_ARM(subject Storage_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Storage_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Storage_STATUS_ARM instances for property testing - lazily instantiated by Storage_STATUS_ARMGenerator() +var storage_STATUS_ARMGenerator gopter.Gen + +// Storage_STATUS_ARMGenerator returns a generator of Storage_STATUS_ARM instances for property testing. +func Storage_STATUS_ARMGenerator() gopter.Gen { + if storage_STATUS_ARMGenerator != nil { + return storage_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForStorage_STATUS_ARM(generators) + storage_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(Storage_STATUS_ARM{}), generators) + + return storage_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForStorage_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForStorage_STATUS_ARM(gens map[string]gopter.Gen) { + gens["AutoGrow"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_STATUS_Disabled, EnableStatusEnum_STATUS_Enabled)) + gens["AutoIoScaling"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_STATUS_Disabled, EnableStatusEnum_STATUS_Enabled)) + gens["Iops"] = gen.PtrOf(gen.Int()) + gens["LogOnDisk"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_STATUS_Disabled, EnableStatusEnum_STATUS_Enabled)) + gens["StorageSizeGB"] = gen.PtrOf(gen.Int()) + gens["StorageSku"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_server_types_gen.go b/v2/api/dbformysql/v1api20230630/flexible_server_types_gen.go new file mode 100644 index 00000000000..0e4c5d31457 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_server_types_gen.go @@ -0,0 +1,5563 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "context" + "fmt" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" + "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" + "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/go-logr/logr" + "github.com/pkg/errors" + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/client" + "sigs.k8s.io/controller-runtime/pkg/conversion" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" +) + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/FlexibleServers.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} +type FlexibleServer struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FlexibleServer_Spec `json:"spec,omitempty"` + Status FlexibleServer_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &FlexibleServer{} + +// GetConditions returns the conditions of the resource +func (server *FlexibleServer) GetConditions() conditions.Conditions { + return server.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (server *FlexibleServer) SetConditions(conditions conditions.Conditions) { + server.Status.Conditions = conditions +} + +var _ conversion.Convertible = &FlexibleServer{} + +// ConvertFrom populates our FlexibleServer from the provided hub FlexibleServer +func (server *FlexibleServer) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*v20230630s.FlexibleServer) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServer but received %T instead", hub) + } + + return server.AssignProperties_From_FlexibleServer(source) +} + +// ConvertTo populates the provided hub FlexibleServer from our FlexibleServer +func (server *FlexibleServer) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*v20230630s.FlexibleServer) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServer but received %T instead", hub) + } + + return server.AssignProperties_To_FlexibleServer(destination) +} + +// +kubebuilder:webhook:path=/mutate-dbformysql-azure-com-v1api20230630-flexibleserver,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=dbformysql.azure.com,resources=flexibleservers,verbs=create;update,versions=v1api20230630,name=default.v1api20230630.flexibleservers.dbformysql.azure.com,admissionReviewVersions=v1 + +var _ admission.Defaulter = &FlexibleServer{} + +// Default applies defaults to the FlexibleServer resource +func (server *FlexibleServer) Default() { + server.defaultImpl() + var temp any = server + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + runtimeDefaulter.CustomDefault() + } +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (server *FlexibleServer) defaultAzureName() { + if server.Spec.AzureName == "" { + server.Spec.AzureName = server.Name + } +} + +// defaultImpl applies the code generated defaults to the FlexibleServer resource +func (server *FlexibleServer) defaultImpl() { server.defaultAzureName() } + +var _ genruntime.ImportableResource = &FlexibleServer{} + +// InitializeSpec initializes the spec for this resource from the given status +func (server *FlexibleServer) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*FlexibleServer_STATUS); ok { + return server.Spec.Initialize_From_FlexibleServer_STATUS(s) + } + + return fmt.Errorf("expected Status of type FlexibleServer_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesExporter = &FlexibleServer{} + +// ExportKubernetesResources defines a resource which can create other resources in Kubernetes. +func (server *FlexibleServer) ExportKubernetesResources(_ context.Context, _ genruntime.MetaObject, _ *genericarmclient.GenericClient, _ logr.Logger) ([]client.Object, error) { + collector := configmaps.NewCollector(server.Namespace) + if server.Spec.OperatorSpec != nil && server.Spec.OperatorSpec.ConfigMaps != nil { + if server.Status.AdministratorLogin != nil { + collector.AddValue(server.Spec.OperatorSpec.ConfigMaps.AdministratorLogin, *server.Status.AdministratorLogin) + } + } + if server.Spec.OperatorSpec != nil && server.Spec.OperatorSpec.ConfigMaps != nil { + if server.Status.FullyQualifiedDomainName != nil { + collector.AddValue(server.Spec.OperatorSpec.ConfigMaps.FullyQualifiedDomainName, *server.Status.FullyQualifiedDomainName) + } + } + result, err := collector.Values() + if err != nil { + return nil, err + } + return configmaps.SliceToClientObjectSlice(result), nil +} + +var _ genruntime.KubernetesResource = &FlexibleServer{} + +// AzureName returns the Azure name of the resource +func (server *FlexibleServer) AzureName() string { + return server.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2023-06-30" +func (server FlexibleServer) GetAPIVersion() string { + return string(APIVersion_Value) +} + +// GetResourceScope returns the scope of the resource +func (server *FlexibleServer) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (server *FlexibleServer) GetSpec() genruntime.ConvertibleSpec { + return &server.Spec +} + +// GetStatus returns the status of this resource +func (server *FlexibleServer) GetStatus() genruntime.ConvertibleStatus { + return &server.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (server *FlexibleServer) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.DBforMySQL/flexibleServers" +func (server *FlexibleServer) GetType() string { + return "Microsoft.DBforMySQL/flexibleServers" +} + +// NewEmptyStatus returns a new empty (blank) status +func (server *FlexibleServer) NewEmptyStatus() genruntime.ConvertibleStatus { + return &FlexibleServer_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (server *FlexibleServer) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(server.Spec) + return server.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (server *FlexibleServer) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*FlexibleServer_STATUS); ok { + server.Status = *st + return nil + } + + // Convert status to required version + var st FlexibleServer_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + server.Status = st + return nil +} + +// +kubebuilder:webhook:path=/validate-dbformysql-azure-com-v1api20230630-flexibleserver,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=dbformysql.azure.com,resources=flexibleservers,verbs=create;update,versions=v1api20230630,name=validate.v1api20230630.flexibleservers.dbformysql.azure.com,admissionReviewVersions=v1 + +var _ admission.Validator = &FlexibleServer{} + +// ValidateCreate validates the creation of the resource +func (server *FlexibleServer) ValidateCreate() (admission.Warnings, error) { + validations := server.createValidations() + var temp any = server + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(validations) +} + +// ValidateDelete validates the deletion of the resource +func (server *FlexibleServer) ValidateDelete() (admission.Warnings, error) { + validations := server.deleteValidations() + var temp any = server + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(validations) +} + +// ValidateUpdate validates an update of the resource +func (server *FlexibleServer) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { + validations := server.updateValidations() + var temp any = server + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.UpdateValidations()...) + } + return genruntime.ValidateUpdate(old, validations) +} + +// createValidations validates the creation of the resource +func (server *FlexibleServer) createValidations() []func() (admission.Warnings, error) { + return []func() (admission.Warnings, error){server.validateResourceReferences, server.validateOwnerReference, server.validateSecretDestinations, server.validateConfigMapDestinations} +} + +// deleteValidations validates the deletion of the resource +func (server *FlexibleServer) deleteValidations() []func() (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (server *FlexibleServer) updateValidations() []func(old runtime.Object) (admission.Warnings, error) { + return []func(old runtime.Object) (admission.Warnings, error){ + func(old runtime.Object) (admission.Warnings, error) { + return server.validateResourceReferences() + }, + server.validateWriteOnceProperties, + func(old runtime.Object) (admission.Warnings, error) { + return server.validateOwnerReference() + }, + func(old runtime.Object) (admission.Warnings, error) { + return server.validateSecretDestinations() + }, + func(old runtime.Object) (admission.Warnings, error) { + return server.validateConfigMapDestinations() + }, + } +} + +// validateConfigMapDestinations validates there are no colliding genruntime.ConfigMapDestinations +func (server *FlexibleServer) validateConfigMapDestinations() (admission.Warnings, error) { + if server.Spec.OperatorSpec == nil { + return nil, nil + } + if server.Spec.OperatorSpec.ConfigMaps == nil { + return nil, nil + } + toValidate := []*genruntime.ConfigMapDestination{ + server.Spec.OperatorSpec.ConfigMaps.AdministratorLogin, + server.Spec.OperatorSpec.ConfigMaps.FullyQualifiedDomainName, + } + return genruntime.ValidateConfigMapDestinations(toValidate) +} + +// validateOwnerReference validates the owner field +func (server *FlexibleServer) validateOwnerReference() (admission.Warnings, error) { + return genruntime.ValidateOwner(server) +} + +// validateResourceReferences validates all resource references +func (server *FlexibleServer) validateResourceReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&server.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateSecretDestinations validates there are no colliding genruntime.SecretDestination's +func (server *FlexibleServer) validateSecretDestinations() (admission.Warnings, error) { + if server.Spec.OperatorSpec == nil { + return nil, nil + } + if server.Spec.OperatorSpec.Secrets == nil { + return nil, nil + } + toValidate := []*genruntime.SecretDestination{ + server.Spec.OperatorSpec.Secrets.FullyQualifiedDomainName, + } + return genruntime.ValidateSecretDestinations(toValidate) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (server *FlexibleServer) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { + oldObj, ok := old.(*FlexibleServer) + if !ok { + return nil, nil + } + + return genruntime.ValidateWriteOnceProperties(oldObj, server) +} + +// AssignProperties_From_FlexibleServer populates our FlexibleServer from the provided source FlexibleServer +func (server *FlexibleServer) AssignProperties_From_FlexibleServer(source *v20230630s.FlexibleServer) error { + + // ObjectMeta + server.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec FlexibleServer_Spec + err := spec.AssignProperties_From_FlexibleServer_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServer_Spec() to populate field Spec") + } + server.Spec = spec + + // Status + var status FlexibleServer_STATUS + err = status.AssignProperties_From_FlexibleServer_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServer_STATUS() to populate field Status") + } + server.Status = status + + // No error + return nil +} + +// AssignProperties_To_FlexibleServer populates the provided destination FlexibleServer from our FlexibleServer +func (server *FlexibleServer) AssignProperties_To_FlexibleServer(destination *v20230630s.FlexibleServer) error { + + // ObjectMeta + destination.ObjectMeta = *server.ObjectMeta.DeepCopy() + + // Spec + var spec v20230630s.FlexibleServer_Spec + err := server.Spec.AssignProperties_To_FlexibleServer_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServer_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status v20230630s.FlexibleServer_STATUS + err = server.Status.AssignProperties_To_FlexibleServer_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServer_STATUS() to populate field Status") + } + destination.Status = status + + // No error + return nil +} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (server *FlexibleServer) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: server.Spec.OriginalVersion(), + Kind: "FlexibleServer", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/FlexibleServers.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} +type FlexibleServerList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FlexibleServer `json:"items"` +} + +// +kubebuilder:validation:Enum={"2023-06-30"} +type APIVersion string + +const APIVersion_Value = APIVersion("2023-06-30") + +type FlexibleServer_Spec struct { + // AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + // (and is required for creation). + AdministratorLogin *string `json:"administratorLogin,omitempty"` + + // AdministratorLoginPassword: The password of the administrator login (required for server creation). + AdministratorLoginPassword *genruntime.SecretReference `json:"administratorLoginPassword,omitempty"` + + // AvailabilityZone: availability Zone information of the server. + AvailabilityZone *string `json:"availabilityZone,omitempty"` + + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + + // Backup: Backup related properties of a server. + Backup *Backup `json:"backup,omitempty"` + + // CreateMode: The mode to create a new MySQL server. + CreateMode *ServerProperties_CreateMode `json:"createMode,omitempty"` + + // DataEncryption: The Data Encryption for CMK. + DataEncryption *DataEncryption `json:"dataEncryption,omitempty"` + + // HighAvailability: High availability related properties of a server. + HighAvailability *HighAvailability `json:"highAvailability,omitempty"` + + // Identity: The cmk identity for the server. + Identity *MySQLServerIdentity `json:"identity,omitempty"` + + // ImportSourceProperties: Source properties for import from storage. + ImportSourceProperties *ImportSourceProperties `json:"importSourceProperties,omitempty"` + + // +kubebuilder:validation:Required + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // MaintenanceWindow: Maintenance window of a server. + MaintenanceWindow *MaintenanceWindow `json:"maintenanceWindow,omitempty"` + + // Network: Network related properties of a server. + Network *Network `json:"network,omitempty"` + + // OperatorSpec: The specification for configuring operator behavior. This field is interpreted by the operator and not + // passed directly to Azure + OperatorSpec *FlexibleServerOperatorSpec `json:"operatorSpec,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a resources.azure.com/ResourceGroup resource + Owner *genruntime.KnownResourceReference `group:"resources.azure.com" json:"owner,omitempty" kind:"ResourceGroup"` + + // ReplicationRole: The replication role. + ReplicationRole *ReplicationRole `json:"replicationRole,omitempty"` + + // RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from. + RestorePointInTime *string `json:"restorePointInTime,omitempty"` + + // Sku: The SKU (pricing tier) of the server. + Sku *MySQLServerSku `json:"sku,omitempty"` + + // SourceServerResourceReference: The source MySQL server id. + SourceServerResourceReference *genruntime.ResourceReference `armReference:"SourceServerResourceId" json:"sourceServerResourceReference,omitempty"` + + // Storage: Storage related properties of a server. + Storage *Storage `json:"storage,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` + + // Version: Server version. + Version *ServerVersion `json:"version,omitempty"` +} + +var _ genruntime.ARMTransformer = &FlexibleServer_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (server *FlexibleServer_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if server == nil { + return nil, nil + } + result := &FlexibleServer_Spec_ARM{} + + // Set property "Identity": + if server.Identity != nil { + identity_ARM, err := (*server.Identity).ConvertToARM(resolved) + if err != nil { + return nil, err + } + identity := *identity_ARM.(*MySQLServerIdentity_ARM) + result.Identity = &identity + } + + // Set property "Location": + if server.Location != nil { + location := *server.Location + result.Location = &location + } + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if server.AdministratorLogin != nil || + server.AdministratorLoginPassword != nil || + server.AvailabilityZone != nil || + server.Backup != nil || + server.CreateMode != nil || + server.DataEncryption != nil || + server.HighAvailability != nil || + server.ImportSourceProperties != nil || + server.MaintenanceWindow != nil || + server.Network != nil || + server.ReplicationRole != nil || + server.RestorePointInTime != nil || + server.SourceServerResourceReference != nil || + server.Storage != nil || + server.Version != nil { + result.Properties = &ServerProperties_ARM{} + } + if server.AdministratorLogin != nil { + administratorLogin := *server.AdministratorLogin + result.Properties.AdministratorLogin = &administratorLogin + } + if server.AdministratorLoginPassword != nil { + administratorLoginPasswordSecret, err := resolved.ResolvedSecrets.Lookup(*server.AdministratorLoginPassword) + if err != nil { + return nil, errors.Wrap(err, "looking up secret for property AdministratorLoginPassword") + } + administratorLoginPassword := administratorLoginPasswordSecret + result.Properties.AdministratorLoginPassword = &administratorLoginPassword + } + if server.AvailabilityZone != nil { + availabilityZone := *server.AvailabilityZone + result.Properties.AvailabilityZone = &availabilityZone + } + if server.Backup != nil { + backup_ARM, err := (*server.Backup).ConvertToARM(resolved) + if err != nil { + return nil, err + } + backup := *backup_ARM.(*Backup_ARM) + result.Properties.Backup = &backup + } + if server.CreateMode != nil { + createMode := *server.CreateMode + result.Properties.CreateMode = &createMode + } + if server.DataEncryption != nil { + dataEncryption_ARM, err := (*server.DataEncryption).ConvertToARM(resolved) + if err != nil { + return nil, err + } + dataEncryption := *dataEncryption_ARM.(*DataEncryption_ARM) + result.Properties.DataEncryption = &dataEncryption + } + if server.HighAvailability != nil { + highAvailability_ARM, err := (*server.HighAvailability).ConvertToARM(resolved) + if err != nil { + return nil, err + } + highAvailability := *highAvailability_ARM.(*HighAvailability_ARM) + result.Properties.HighAvailability = &highAvailability + } + if server.ImportSourceProperties != nil { + importSourceProperties_ARM, err := (*server.ImportSourceProperties).ConvertToARM(resolved) + if err != nil { + return nil, err + } + importSourceProperties := *importSourceProperties_ARM.(*ImportSourceProperties_ARM) + result.Properties.ImportSourceProperties = &importSourceProperties + } + if server.MaintenanceWindow != nil { + maintenanceWindow_ARM, err := (*server.MaintenanceWindow).ConvertToARM(resolved) + if err != nil { + return nil, err + } + maintenanceWindow := *maintenanceWindow_ARM.(*MaintenanceWindow_ARM) + result.Properties.MaintenanceWindow = &maintenanceWindow + } + if server.Network != nil { + network_ARM, err := (*server.Network).ConvertToARM(resolved) + if err != nil { + return nil, err + } + network := *network_ARM.(*Network_ARM) + result.Properties.Network = &network + } + if server.ReplicationRole != nil { + replicationRole := *server.ReplicationRole + result.Properties.ReplicationRole = &replicationRole + } + if server.RestorePointInTime != nil { + restorePointInTime := *server.RestorePointInTime + result.Properties.RestorePointInTime = &restorePointInTime + } + if server.SourceServerResourceReference != nil { + sourceServerResourceIdARMID, err := resolved.ResolvedReferences.Lookup(*server.SourceServerResourceReference) + if err != nil { + return nil, err + } + sourceServerResourceId := sourceServerResourceIdARMID + result.Properties.SourceServerResourceId = &sourceServerResourceId + } + if server.Storage != nil { + storage_ARM, err := (*server.Storage).ConvertToARM(resolved) + if err != nil { + return nil, err + } + storage := *storage_ARM.(*Storage_ARM) + result.Properties.Storage = &storage + } + if server.Version != nil { + version := *server.Version + result.Properties.Version = &version + } + + // Set property "Sku": + if server.Sku != nil { + sku_ARM, err := (*server.Sku).ConvertToARM(resolved) + if err != nil { + return nil, err + } + sku := *sku_ARM.(*MySQLServerSku_ARM) + result.Sku = &sku + } + + // Set property "Tags": + if server.Tags != nil { + result.Tags = make(map[string]string, len(server.Tags)) + for key, value := range server.Tags { + result.Tags[key] = value + } + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (server *FlexibleServer_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &FlexibleServer_Spec_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (server *FlexibleServer_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(FlexibleServer_Spec_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected FlexibleServer_Spec_ARM, got %T", armInput) + } + + // Set property "AdministratorLogin": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AdministratorLogin != nil { + administratorLogin := *typedInput.Properties.AdministratorLogin + server.AdministratorLogin = &administratorLogin + } + } + + // no assignment for property "AdministratorLoginPassword" + + // Set property "AvailabilityZone": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AvailabilityZone != nil { + availabilityZone := *typedInput.Properties.AvailabilityZone + server.AvailabilityZone = &availabilityZone + } + } + + // Set property "AzureName": + server.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // Set property "Backup": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Backup != nil { + var backup1 Backup + err := backup1.PopulateFromARM(owner, *typedInput.Properties.Backup) + if err != nil { + return err + } + backup := backup1 + server.Backup = &backup + } + } + + // Set property "CreateMode": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.CreateMode != nil { + createMode := *typedInput.Properties.CreateMode + server.CreateMode = &createMode + } + } + + // Set property "DataEncryption": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.DataEncryption != nil { + var dataEncryption1 DataEncryption + err := dataEncryption1.PopulateFromARM(owner, *typedInput.Properties.DataEncryption) + if err != nil { + return err + } + dataEncryption := dataEncryption1 + server.DataEncryption = &dataEncryption + } + } + + // Set property "HighAvailability": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.HighAvailability != nil { + var highAvailability1 HighAvailability + err := highAvailability1.PopulateFromARM(owner, *typedInput.Properties.HighAvailability) + if err != nil { + return err + } + highAvailability := highAvailability1 + server.HighAvailability = &highAvailability + } + } + + // Set property "Identity": + if typedInput.Identity != nil { + var identity1 MySQLServerIdentity + err := identity1.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity := identity1 + server.Identity = &identity + } + + // Set property "ImportSourceProperties": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ImportSourceProperties != nil { + var importSourceProperties1 ImportSourceProperties + err := importSourceProperties1.PopulateFromARM(owner, *typedInput.Properties.ImportSourceProperties) + if err != nil { + return err + } + importSourceProperties := importSourceProperties1 + server.ImportSourceProperties = &importSourceProperties + } + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + server.Location = &location + } + + // Set property "MaintenanceWindow": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.MaintenanceWindow != nil { + var maintenanceWindow1 MaintenanceWindow + err := maintenanceWindow1.PopulateFromARM(owner, *typedInput.Properties.MaintenanceWindow) + if err != nil { + return err + } + maintenanceWindow := maintenanceWindow1 + server.MaintenanceWindow = &maintenanceWindow + } + } + + // Set property "Network": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Network != nil { + var network1 Network + err := network1.PopulateFromARM(owner, *typedInput.Properties.Network) + if err != nil { + return err + } + network := network1 + server.Network = &network + } + } + + // no assignment for property "OperatorSpec" + + // Set property "Owner": + server.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // Set property "ReplicationRole": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ReplicationRole != nil { + replicationRole := *typedInput.Properties.ReplicationRole + server.ReplicationRole = &replicationRole + } + } + + // Set property "RestorePointInTime": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.RestorePointInTime != nil { + restorePointInTime := *typedInput.Properties.RestorePointInTime + server.RestorePointInTime = &restorePointInTime + } + } + + // Set property "Sku": + if typedInput.Sku != nil { + var sku1 MySQLServerSku + err := sku1.PopulateFromARM(owner, *typedInput.Sku) + if err != nil { + return err + } + sku := sku1 + server.Sku = &sku + } + + // no assignment for property "SourceServerResourceReference" + + // Set property "Storage": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Storage != nil { + var storage1 Storage + err := storage1.PopulateFromARM(owner, *typedInput.Properties.Storage) + if err != nil { + return err + } + storage := storage1 + server.Storage = &storage + } + } + + // Set property "Tags": + if typedInput.Tags != nil { + server.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + server.Tags[key] = value + } + } + + // Set property "Version": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Version != nil { + version := *typedInput.Properties.Version + server.Version = &version + } + } + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &FlexibleServer_Spec{} + +// ConvertSpecFrom populates our FlexibleServer_Spec from the provided source +func (server *FlexibleServer_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*v20230630s.FlexibleServer_Spec) + if ok { + // Populate our instance from source + return server.AssignProperties_From_FlexibleServer_Spec(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServer_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = server.AssignProperties_From_FlexibleServer_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our FlexibleServer_Spec +func (server *FlexibleServer_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*v20230630s.FlexibleServer_Spec) + if ok { + // Populate destination from our instance + return server.AssignProperties_To_FlexibleServer_Spec(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServer_Spec{} + err := server.AssignProperties_To_FlexibleServer_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_FlexibleServer_Spec populates our FlexibleServer_Spec from the provided source FlexibleServer_Spec +func (server *FlexibleServer_Spec) AssignProperties_From_FlexibleServer_Spec(source *v20230630s.FlexibleServer_Spec) error { + + // AdministratorLogin + server.AdministratorLogin = genruntime.ClonePointerToString(source.AdministratorLogin) + + // AdministratorLoginPassword + if source.AdministratorLoginPassword != nil { + administratorLoginPassword := source.AdministratorLoginPassword.Copy() + server.AdministratorLoginPassword = &administratorLoginPassword + } else { + server.AdministratorLoginPassword = nil + } + + // AvailabilityZone + server.AvailabilityZone = genruntime.ClonePointerToString(source.AvailabilityZone) + + // AzureName + server.AzureName = source.AzureName + + // Backup + if source.Backup != nil { + var backup Backup + err := backup.AssignProperties_From_Backup(source.Backup) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_Backup() to populate field Backup") + } + server.Backup = &backup + } else { + server.Backup = nil + } + + // CreateMode + if source.CreateMode != nil { + createMode := *source.CreateMode + createModeTemp := genruntime.ToEnum(createMode, serverProperties_CreateMode_Values) + server.CreateMode = &createModeTemp + } else { + server.CreateMode = nil + } + + // DataEncryption + if source.DataEncryption != nil { + var dataEncryption DataEncryption + err := dataEncryption.AssignProperties_From_DataEncryption(source.DataEncryption) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_DataEncryption() to populate field DataEncryption") + } + server.DataEncryption = &dataEncryption + } else { + server.DataEncryption = nil + } + + // HighAvailability + if source.HighAvailability != nil { + var highAvailability HighAvailability + err := highAvailability.AssignProperties_From_HighAvailability(source.HighAvailability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_HighAvailability() to populate field HighAvailability") + } + server.HighAvailability = &highAvailability + } else { + server.HighAvailability = nil + } + + // Identity + if source.Identity != nil { + var identity MySQLServerIdentity + err := identity.AssignProperties_From_MySQLServerIdentity(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MySQLServerIdentity() to populate field Identity") + } + server.Identity = &identity + } else { + server.Identity = nil + } + + // ImportSourceProperties + if source.ImportSourceProperties != nil { + var importSourceProperty ImportSourceProperties + err := importSourceProperty.AssignProperties_From_ImportSourceProperties(source.ImportSourceProperties) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ImportSourceProperties() to populate field ImportSourceProperties") + } + server.ImportSourceProperties = &importSourceProperty + } else { + server.ImportSourceProperties = nil + } + + // Location + server.Location = genruntime.ClonePointerToString(source.Location) + + // MaintenanceWindow + if source.MaintenanceWindow != nil { + var maintenanceWindow MaintenanceWindow + err := maintenanceWindow.AssignProperties_From_MaintenanceWindow(source.MaintenanceWindow) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MaintenanceWindow() to populate field MaintenanceWindow") + } + server.MaintenanceWindow = &maintenanceWindow + } else { + server.MaintenanceWindow = nil + } + + // Network + if source.Network != nil { + var network Network + err := network.AssignProperties_From_Network(source.Network) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_Network() to populate field Network") + } + server.Network = &network + } else { + server.Network = nil + } + + // OperatorSpec + if source.OperatorSpec != nil { + var operatorSpec FlexibleServerOperatorSpec + err := operatorSpec.AssignProperties_From_FlexibleServerOperatorSpec(source.OperatorSpec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServerOperatorSpec() to populate field OperatorSpec") + } + server.OperatorSpec = &operatorSpec + } else { + server.OperatorSpec = nil + } + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + server.Owner = &owner + } else { + server.Owner = nil + } + + // ReplicationRole + if source.ReplicationRole != nil { + replicationRole := *source.ReplicationRole + replicationRoleTemp := genruntime.ToEnum(replicationRole, replicationRole_Values) + server.ReplicationRole = &replicationRoleTemp + } else { + server.ReplicationRole = nil + } + + // RestorePointInTime + server.RestorePointInTime = genruntime.ClonePointerToString(source.RestorePointInTime) + + // Sku + if source.Sku != nil { + var sku MySQLServerSku + err := sku.AssignProperties_From_MySQLServerSku(source.Sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MySQLServerSku() to populate field Sku") + } + server.Sku = &sku + } else { + server.Sku = nil + } + + // SourceServerResourceReference + if source.SourceServerResourceReference != nil { + sourceServerResourceReference := source.SourceServerResourceReference.Copy() + server.SourceServerResourceReference = &sourceServerResourceReference + } else { + server.SourceServerResourceReference = nil + } + + // Storage + if source.Storage != nil { + var storage Storage + err := storage.AssignProperties_From_Storage(source.Storage) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_Storage() to populate field Storage") + } + server.Storage = &storage + } else { + server.Storage = nil + } + + // Tags + server.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Version + if source.Version != nil { + version := *source.Version + versionTemp := genruntime.ToEnum(version, serverVersion_Values) + server.Version = &versionTemp + } else { + server.Version = nil + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServer_Spec populates the provided destination FlexibleServer_Spec from our FlexibleServer_Spec +func (server *FlexibleServer_Spec) AssignProperties_To_FlexibleServer_Spec(destination *v20230630s.FlexibleServer_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdministratorLogin + destination.AdministratorLogin = genruntime.ClonePointerToString(server.AdministratorLogin) + + // AdministratorLoginPassword + if server.AdministratorLoginPassword != nil { + administratorLoginPassword := server.AdministratorLoginPassword.Copy() + destination.AdministratorLoginPassword = &administratorLoginPassword + } else { + destination.AdministratorLoginPassword = nil + } + + // AvailabilityZone + destination.AvailabilityZone = genruntime.ClonePointerToString(server.AvailabilityZone) + + // AzureName + destination.AzureName = server.AzureName + + // Backup + if server.Backup != nil { + var backup v20230630s.Backup + err := server.Backup.AssignProperties_To_Backup(&backup) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_Backup() to populate field Backup") + } + destination.Backup = &backup + } else { + destination.Backup = nil + } + + // CreateMode + if server.CreateMode != nil { + createMode := string(*server.CreateMode) + destination.CreateMode = &createMode + } else { + destination.CreateMode = nil + } + + // DataEncryption + if server.DataEncryption != nil { + var dataEncryption v20230630s.DataEncryption + err := server.DataEncryption.AssignProperties_To_DataEncryption(&dataEncryption) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_DataEncryption() to populate field DataEncryption") + } + destination.DataEncryption = &dataEncryption + } else { + destination.DataEncryption = nil + } + + // HighAvailability + if server.HighAvailability != nil { + var highAvailability v20230630s.HighAvailability + err := server.HighAvailability.AssignProperties_To_HighAvailability(&highAvailability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_HighAvailability() to populate field HighAvailability") + } + destination.HighAvailability = &highAvailability + } else { + destination.HighAvailability = nil + } + + // Identity + if server.Identity != nil { + var identity v20230630s.MySQLServerIdentity + err := server.Identity.AssignProperties_To_MySQLServerIdentity(&identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MySQLServerIdentity() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // ImportSourceProperties + if server.ImportSourceProperties != nil { + var importSourceProperty v20230630s.ImportSourceProperties + err := server.ImportSourceProperties.AssignProperties_To_ImportSourceProperties(&importSourceProperty) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ImportSourceProperties() to populate field ImportSourceProperties") + } + destination.ImportSourceProperties = &importSourceProperty + } else { + destination.ImportSourceProperties = nil + } + + // Location + destination.Location = genruntime.ClonePointerToString(server.Location) + + // MaintenanceWindow + if server.MaintenanceWindow != nil { + var maintenanceWindow v20230630s.MaintenanceWindow + err := server.MaintenanceWindow.AssignProperties_To_MaintenanceWindow(&maintenanceWindow) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MaintenanceWindow() to populate field MaintenanceWindow") + } + destination.MaintenanceWindow = &maintenanceWindow + } else { + destination.MaintenanceWindow = nil + } + + // Network + if server.Network != nil { + var network v20230630s.Network + err := server.Network.AssignProperties_To_Network(&network) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_Network() to populate field Network") + } + destination.Network = &network + } else { + destination.Network = nil + } + + // OperatorSpec + if server.OperatorSpec != nil { + var operatorSpec v20230630s.FlexibleServerOperatorSpec + err := server.OperatorSpec.AssignProperties_To_FlexibleServerOperatorSpec(&operatorSpec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServerOperatorSpec() to populate field OperatorSpec") + } + destination.OperatorSpec = &operatorSpec + } else { + destination.OperatorSpec = nil + } + + // OriginalVersion + destination.OriginalVersion = server.OriginalVersion() + + // Owner + if server.Owner != nil { + owner := server.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // ReplicationRole + if server.ReplicationRole != nil { + replicationRole := string(*server.ReplicationRole) + destination.ReplicationRole = &replicationRole + } else { + destination.ReplicationRole = nil + } + + // RestorePointInTime + destination.RestorePointInTime = genruntime.ClonePointerToString(server.RestorePointInTime) + + // Sku + if server.Sku != nil { + var sku v20230630s.MySQLServerSku + err := server.Sku.AssignProperties_To_MySQLServerSku(&sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MySQLServerSku() to populate field Sku") + } + destination.Sku = &sku + } else { + destination.Sku = nil + } + + // SourceServerResourceReference + if server.SourceServerResourceReference != nil { + sourceServerResourceReference := server.SourceServerResourceReference.Copy() + destination.SourceServerResourceReference = &sourceServerResourceReference + } else { + destination.SourceServerResourceReference = nil + } + + // Storage + if server.Storage != nil { + var storage v20230630s.Storage + err := server.Storage.AssignProperties_To_Storage(&storage) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_Storage() to populate field Storage") + } + destination.Storage = &storage + } else { + destination.Storage = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(server.Tags) + + // Version + if server.Version != nil { + version := string(*server.Version) + destination.Version = &version + } else { + destination.Version = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_FlexibleServer_STATUS populates our FlexibleServer_Spec from the provided source FlexibleServer_STATUS +func (server *FlexibleServer_Spec) Initialize_From_FlexibleServer_STATUS(source *FlexibleServer_STATUS) error { + + // AdministratorLogin + server.AdministratorLogin = genruntime.ClonePointerToString(source.AdministratorLogin) + + // AvailabilityZone + server.AvailabilityZone = genruntime.ClonePointerToString(source.AvailabilityZone) + + // Backup + if source.Backup != nil { + var backup Backup + err := backup.Initialize_From_Backup_STATUS(source.Backup) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_Backup_STATUS() to populate field Backup") + } + server.Backup = &backup + } else { + server.Backup = nil + } + + // CreateMode + if source.CreateMode != nil { + createMode := ServerProperties_CreateMode(*source.CreateMode) + server.CreateMode = &createMode + } else { + server.CreateMode = nil + } + + // DataEncryption + if source.DataEncryption != nil { + var dataEncryption DataEncryption + err := dataEncryption.Initialize_From_DataEncryption_STATUS(source.DataEncryption) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_DataEncryption_STATUS() to populate field DataEncryption") + } + server.DataEncryption = &dataEncryption + } else { + server.DataEncryption = nil + } + + // HighAvailability + if source.HighAvailability != nil { + var highAvailability HighAvailability + err := highAvailability.Initialize_From_HighAvailability_STATUS(source.HighAvailability) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_HighAvailability_STATUS() to populate field HighAvailability") + } + server.HighAvailability = &highAvailability + } else { + server.HighAvailability = nil + } + + // Identity + if source.Identity != nil { + var identity MySQLServerIdentity + err := identity.Initialize_From_MySQLServerIdentity_STATUS(source.Identity) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_MySQLServerIdentity_STATUS() to populate field Identity") + } + server.Identity = &identity + } else { + server.Identity = nil + } + + // ImportSourceProperties + if source.ImportSourceProperties != nil { + var importSourceProperty ImportSourceProperties + err := importSourceProperty.Initialize_From_ImportSourceProperties_STATUS(source.ImportSourceProperties) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_ImportSourceProperties_STATUS() to populate field ImportSourceProperties") + } + server.ImportSourceProperties = &importSourceProperty + } else { + server.ImportSourceProperties = nil + } + + // Location + server.Location = genruntime.ClonePointerToString(source.Location) + + // MaintenanceWindow + if source.MaintenanceWindow != nil { + var maintenanceWindow MaintenanceWindow + err := maintenanceWindow.Initialize_From_MaintenanceWindow_STATUS(source.MaintenanceWindow) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_MaintenanceWindow_STATUS() to populate field MaintenanceWindow") + } + server.MaintenanceWindow = &maintenanceWindow + } else { + server.MaintenanceWindow = nil + } + + // Network + if source.Network != nil { + var network Network + err := network.Initialize_From_Network_STATUS(source.Network) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_Network_STATUS() to populate field Network") + } + server.Network = &network + } else { + server.Network = nil + } + + // ReplicationRole + if source.ReplicationRole != nil { + replicationRole := ReplicationRole(*source.ReplicationRole) + server.ReplicationRole = &replicationRole + } else { + server.ReplicationRole = nil + } + + // RestorePointInTime + server.RestorePointInTime = genruntime.ClonePointerToString(source.RestorePointInTime) + + // Sku + if source.Sku != nil { + var sku MySQLServerSku + err := sku.Initialize_From_MySQLServerSku_STATUS(source.Sku) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_MySQLServerSku_STATUS() to populate field Sku") + } + server.Sku = &sku + } else { + server.Sku = nil + } + + // SourceServerResourceReference + if source.SourceServerResourceId != nil { + sourceServerResourceReference := genruntime.CreateResourceReferenceFromARMID(*source.SourceServerResourceId) + server.SourceServerResourceReference = &sourceServerResourceReference + } else { + server.SourceServerResourceReference = nil + } + + // Storage + if source.Storage != nil { + var storage Storage + err := storage.Initialize_From_Storage_STATUS(source.Storage) + if err != nil { + return errors.Wrap(err, "calling Initialize_From_Storage_STATUS() to populate field Storage") + } + server.Storage = &storage + } else { + server.Storage = nil + } + + // Tags + server.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Version + if source.Version != nil { + version := ServerVersion(*source.Version) + server.Version = &version + } else { + server.Version = nil + } + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (server *FlexibleServer_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (server *FlexibleServer_Spec) SetAzureName(azureName string) { server.AzureName = azureName } + +type FlexibleServer_STATUS struct { + // AdministratorLogin: The administrator's login name of a server. Can only be specified when the server is being created + // (and is required for creation). + AdministratorLogin *string `json:"administratorLogin,omitempty"` + + // AvailabilityZone: availability Zone information of the server. + AvailabilityZone *string `json:"availabilityZone,omitempty"` + + // Backup: Backup related properties of a server. + Backup *Backup_STATUS `json:"backup,omitempty"` + + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // CreateMode: The mode to create a new MySQL server. + CreateMode *ServerProperties_CreateMode_STATUS `json:"createMode,omitempty"` + + // DataEncryption: The Data Encryption for CMK. + DataEncryption *DataEncryption_STATUS `json:"dataEncryption,omitempty"` + + // FullyQualifiedDomainName: The fully qualified domain name of a server. + FullyQualifiedDomainName *string `json:"fullyQualifiedDomainName,omitempty"` + + // HighAvailability: High availability related properties of a server. + HighAvailability *HighAvailability_STATUS `json:"highAvailability,omitempty"` + + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Identity: The cmk identity for the server. + Identity *MySQLServerIdentity_STATUS `json:"identity,omitempty"` + + // ImportSourceProperties: Source properties for import from storage. + ImportSourceProperties *ImportSourceProperties_STATUS `json:"importSourceProperties,omitempty"` + + // Location: The geo-location where the resource lives + Location *string `json:"location,omitempty"` + + // MaintenanceWindow: Maintenance window of a server. + MaintenanceWindow *MaintenanceWindow_STATUS `json:"maintenanceWindow,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Network: Network related properties of a server. + Network *Network_STATUS `json:"network,omitempty"` + + // PrivateEndpointConnections: PrivateEndpointConnections related properties of a server. + PrivateEndpointConnections []PrivateEndpointConnection_STATUS `json:"privateEndpointConnections,omitempty"` + + // ReplicaCapacity: The maximum number of replicas that a primary server can have. + ReplicaCapacity *int `json:"replicaCapacity,omitempty"` + + // ReplicationRole: The replication role. + ReplicationRole *ReplicationRole_STATUS `json:"replicationRole,omitempty"` + + // RestorePointInTime: Restore point creation time (ISO8601 format), specifying the time to restore from. + RestorePointInTime *string `json:"restorePointInTime,omitempty"` + + // Sku: The SKU (pricing tier) of the server. + Sku *MySQLServerSku_STATUS `json:"sku,omitempty"` + + // SourceServerResourceId: The source MySQL server id. + SourceServerResourceId *string `json:"sourceServerResourceId,omitempty"` + + // State: The state of a server. + State *ServerProperties_State_STATUS `json:"state,omitempty"` + + // Storage: Storage related properties of a server. + Storage *Storage_STATUS `json:"storage,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // Tags: Resource tags. + Tags map[string]string `json:"tags,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` + + // Version: Server version. + Version *ServerVersion_STATUS `json:"version,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &FlexibleServer_STATUS{} + +// ConvertStatusFrom populates our FlexibleServer_STATUS from the provided source +func (server *FlexibleServer_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*v20230630s.FlexibleServer_STATUS) + if ok { + // Populate our instance from source + return server.AssignProperties_From_FlexibleServer_STATUS(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServer_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = server.AssignProperties_From_FlexibleServer_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our FlexibleServer_STATUS +func (server *FlexibleServer_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*v20230630s.FlexibleServer_STATUS) + if ok { + // Populate destination from our instance + return server.AssignProperties_To_FlexibleServer_STATUS(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServer_STATUS{} + err := server.AssignProperties_To_FlexibleServer_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &FlexibleServer_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (server *FlexibleServer_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &FlexibleServer_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (server *FlexibleServer_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(FlexibleServer_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected FlexibleServer_STATUS_ARM, got %T", armInput) + } + + // Set property "AdministratorLogin": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AdministratorLogin != nil { + administratorLogin := *typedInput.Properties.AdministratorLogin + server.AdministratorLogin = &administratorLogin + } + } + + // Set property "AvailabilityZone": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AvailabilityZone != nil { + availabilityZone := *typedInput.Properties.AvailabilityZone + server.AvailabilityZone = &availabilityZone + } + } + + // Set property "Backup": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Backup != nil { + var backup1 Backup_STATUS + err := backup1.PopulateFromARM(owner, *typedInput.Properties.Backup) + if err != nil { + return err + } + backup := backup1 + server.Backup = &backup + } + } + + // no assignment for property "Conditions" + + // Set property "CreateMode": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.CreateMode != nil { + createMode := *typedInput.Properties.CreateMode + server.CreateMode = &createMode + } + } + + // Set property "DataEncryption": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.DataEncryption != nil { + var dataEncryption1 DataEncryption_STATUS + err := dataEncryption1.PopulateFromARM(owner, *typedInput.Properties.DataEncryption) + if err != nil { + return err + } + dataEncryption := dataEncryption1 + server.DataEncryption = &dataEncryption + } + } + + // Set property "FullyQualifiedDomainName": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.FullyQualifiedDomainName != nil { + fullyQualifiedDomainName := *typedInput.Properties.FullyQualifiedDomainName + server.FullyQualifiedDomainName = &fullyQualifiedDomainName + } + } + + // Set property "HighAvailability": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.HighAvailability != nil { + var highAvailability1 HighAvailability_STATUS + err := highAvailability1.PopulateFromARM(owner, *typedInput.Properties.HighAvailability) + if err != nil { + return err + } + highAvailability := highAvailability1 + server.HighAvailability = &highAvailability + } + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + server.Id = &id + } + + // Set property "Identity": + if typedInput.Identity != nil { + var identity1 MySQLServerIdentity_STATUS + err := identity1.PopulateFromARM(owner, *typedInput.Identity) + if err != nil { + return err + } + identity := identity1 + server.Identity = &identity + } + + // Set property "ImportSourceProperties": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ImportSourceProperties != nil { + var importSourceProperties1 ImportSourceProperties_STATUS + err := importSourceProperties1.PopulateFromARM(owner, *typedInput.Properties.ImportSourceProperties) + if err != nil { + return err + } + importSourceProperties := importSourceProperties1 + server.ImportSourceProperties = &importSourceProperties + } + } + + // Set property "Location": + if typedInput.Location != nil { + location := *typedInput.Location + server.Location = &location + } + + // Set property "MaintenanceWindow": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.MaintenanceWindow != nil { + var maintenanceWindow1 MaintenanceWindow_STATUS + err := maintenanceWindow1.PopulateFromARM(owner, *typedInput.Properties.MaintenanceWindow) + if err != nil { + return err + } + maintenanceWindow := maintenanceWindow1 + server.MaintenanceWindow = &maintenanceWindow + } + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + server.Name = &name + } + + // Set property "Network": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Network != nil { + var network1 Network_STATUS + err := network1.PopulateFromARM(owner, *typedInput.Properties.Network) + if err != nil { + return err + } + network := network1 + server.Network = &network + } + } + + // Set property "PrivateEndpointConnections": + // copying flattened property: + if typedInput.Properties != nil { + for _, item := range typedInput.Properties.PrivateEndpointConnections { + var item1 PrivateEndpointConnection_STATUS + err := item1.PopulateFromARM(owner, item) + if err != nil { + return err + } + server.PrivateEndpointConnections = append(server.PrivateEndpointConnections, item1) + } + } + + // Set property "ReplicaCapacity": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ReplicaCapacity != nil { + replicaCapacity := *typedInput.Properties.ReplicaCapacity + server.ReplicaCapacity = &replicaCapacity + } + } + + // Set property "ReplicationRole": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.ReplicationRole != nil { + replicationRole := *typedInput.Properties.ReplicationRole + server.ReplicationRole = &replicationRole + } + } + + // Set property "RestorePointInTime": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.RestorePointInTime != nil { + restorePointInTime := *typedInput.Properties.RestorePointInTime + server.RestorePointInTime = &restorePointInTime + } + } + + // Set property "Sku": + if typedInput.Sku != nil { + var sku1 MySQLServerSku_STATUS + err := sku1.PopulateFromARM(owner, *typedInput.Sku) + if err != nil { + return err + } + sku := sku1 + server.Sku = &sku + } + + // Set property "SourceServerResourceId": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.SourceServerResourceId != nil { + sourceServerResourceId := *typedInput.Properties.SourceServerResourceId + server.SourceServerResourceId = &sourceServerResourceId + } + } + + // Set property "State": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.State != nil { + state := *typedInput.Properties.State + server.State = &state + } + } + + // Set property "Storage": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Storage != nil { + var storage1 Storage_STATUS + err := storage1.PopulateFromARM(owner, *typedInput.Properties.Storage) + if err != nil { + return err + } + storage := storage1 + server.Storage = &storage + } + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + server.SystemData = &systemData + } + + // Set property "Tags": + if typedInput.Tags != nil { + server.Tags = make(map[string]string, len(typedInput.Tags)) + for key, value := range typedInput.Tags { + server.Tags[key] = value + } + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + server.Type = &typeVar + } + + // Set property "Version": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Version != nil { + version := *typedInput.Properties.Version + server.Version = &version + } + } + + // No error + return nil +} + +// AssignProperties_From_FlexibleServer_STATUS populates our FlexibleServer_STATUS from the provided source FlexibleServer_STATUS +func (server *FlexibleServer_STATUS) AssignProperties_From_FlexibleServer_STATUS(source *v20230630s.FlexibleServer_STATUS) error { + + // AdministratorLogin + server.AdministratorLogin = genruntime.ClonePointerToString(source.AdministratorLogin) + + // AvailabilityZone + server.AvailabilityZone = genruntime.ClonePointerToString(source.AvailabilityZone) + + // Backup + if source.Backup != nil { + var backup Backup_STATUS + err := backup.AssignProperties_From_Backup_STATUS(source.Backup) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_Backup_STATUS() to populate field Backup") + } + server.Backup = &backup + } else { + server.Backup = nil + } + + // Conditions + server.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // CreateMode + if source.CreateMode != nil { + createMode := *source.CreateMode + createModeTemp := genruntime.ToEnum(createMode, serverProperties_CreateMode_STATUS_Values) + server.CreateMode = &createModeTemp + } else { + server.CreateMode = nil + } + + // DataEncryption + if source.DataEncryption != nil { + var dataEncryption DataEncryption_STATUS + err := dataEncryption.AssignProperties_From_DataEncryption_STATUS(source.DataEncryption) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_DataEncryption_STATUS() to populate field DataEncryption") + } + server.DataEncryption = &dataEncryption + } else { + server.DataEncryption = nil + } + + // FullyQualifiedDomainName + server.FullyQualifiedDomainName = genruntime.ClonePointerToString(source.FullyQualifiedDomainName) + + // HighAvailability + if source.HighAvailability != nil { + var highAvailability HighAvailability_STATUS + err := highAvailability.AssignProperties_From_HighAvailability_STATUS(source.HighAvailability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_HighAvailability_STATUS() to populate field HighAvailability") + } + server.HighAvailability = &highAvailability + } else { + server.HighAvailability = nil + } + + // Id + server.Id = genruntime.ClonePointerToString(source.Id) + + // Identity + if source.Identity != nil { + var identity MySQLServerIdentity_STATUS + err := identity.AssignProperties_From_MySQLServerIdentity_STATUS(source.Identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MySQLServerIdentity_STATUS() to populate field Identity") + } + server.Identity = &identity + } else { + server.Identity = nil + } + + // ImportSourceProperties + if source.ImportSourceProperties != nil { + var importSourceProperty ImportSourceProperties_STATUS + err := importSourceProperty.AssignProperties_From_ImportSourceProperties_STATUS(source.ImportSourceProperties) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_ImportSourceProperties_STATUS() to populate field ImportSourceProperties") + } + server.ImportSourceProperties = &importSourceProperty + } else { + server.ImportSourceProperties = nil + } + + // Location + server.Location = genruntime.ClonePointerToString(source.Location) + + // MaintenanceWindow + if source.MaintenanceWindow != nil { + var maintenanceWindow MaintenanceWindow_STATUS + err := maintenanceWindow.AssignProperties_From_MaintenanceWindow_STATUS(source.MaintenanceWindow) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MaintenanceWindow_STATUS() to populate field MaintenanceWindow") + } + server.MaintenanceWindow = &maintenanceWindow + } else { + server.MaintenanceWindow = nil + } + + // Name + server.Name = genruntime.ClonePointerToString(source.Name) + + // Network + if source.Network != nil { + var network Network_STATUS + err := network.AssignProperties_From_Network_STATUS(source.Network) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_Network_STATUS() to populate field Network") + } + server.Network = &network + } else { + server.Network = nil + } + + // PrivateEndpointConnections + if source.PrivateEndpointConnections != nil { + privateEndpointConnectionList := make([]PrivateEndpointConnection_STATUS, len(source.PrivateEndpointConnections)) + for privateEndpointConnectionIndex, privateEndpointConnectionItem := range source.PrivateEndpointConnections { + // Shadow the loop variable to avoid aliasing + privateEndpointConnectionItem := privateEndpointConnectionItem + var privateEndpointConnection PrivateEndpointConnection_STATUS + err := privateEndpointConnection.AssignProperties_From_PrivateEndpointConnection_STATUS(&privateEndpointConnectionItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_PrivateEndpointConnection_STATUS() to populate field PrivateEndpointConnections") + } + privateEndpointConnectionList[privateEndpointConnectionIndex] = privateEndpointConnection + } + server.PrivateEndpointConnections = privateEndpointConnectionList + } else { + server.PrivateEndpointConnections = nil + } + + // ReplicaCapacity + server.ReplicaCapacity = genruntime.ClonePointerToInt(source.ReplicaCapacity) + + // ReplicationRole + if source.ReplicationRole != nil { + replicationRole := *source.ReplicationRole + replicationRoleTemp := genruntime.ToEnum(replicationRole, replicationRole_STATUS_Values) + server.ReplicationRole = &replicationRoleTemp + } else { + server.ReplicationRole = nil + } + + // RestorePointInTime + server.RestorePointInTime = genruntime.ClonePointerToString(source.RestorePointInTime) + + // Sku + if source.Sku != nil { + var sku MySQLServerSku_STATUS + err := sku.AssignProperties_From_MySQLServerSku_STATUS(source.Sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_MySQLServerSku_STATUS() to populate field Sku") + } + server.Sku = &sku + } else { + server.Sku = nil + } + + // SourceServerResourceId + server.SourceServerResourceId = genruntime.ClonePointerToString(source.SourceServerResourceId) + + // State + if source.State != nil { + state := *source.State + stateTemp := genruntime.ToEnum(state, serverProperties_State_STATUS_Values) + server.State = &stateTemp + } else { + server.State = nil + } + + // Storage + if source.Storage != nil { + var storage Storage_STATUS + err := storage.AssignProperties_From_Storage_STATUS(source.Storage) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_Storage_STATUS() to populate field Storage") + } + server.Storage = &storage + } else { + server.Storage = nil + } + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + server.SystemData = &systemDatum + } else { + server.SystemData = nil + } + + // Tags + server.Tags = genruntime.CloneMapOfStringToString(source.Tags) + + // Type + server.Type = genruntime.ClonePointerToString(source.Type) + + // Version + if source.Version != nil { + version := *source.Version + versionTemp := genruntime.ToEnum(version, serverVersion_STATUS_Values) + server.Version = &versionTemp + } else { + server.Version = nil + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServer_STATUS populates the provided destination FlexibleServer_STATUS from our FlexibleServer_STATUS +func (server *FlexibleServer_STATUS) AssignProperties_To_FlexibleServer_STATUS(destination *v20230630s.FlexibleServer_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdministratorLogin + destination.AdministratorLogin = genruntime.ClonePointerToString(server.AdministratorLogin) + + // AvailabilityZone + destination.AvailabilityZone = genruntime.ClonePointerToString(server.AvailabilityZone) + + // Backup + if server.Backup != nil { + var backup v20230630s.Backup_STATUS + err := server.Backup.AssignProperties_To_Backup_STATUS(&backup) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_Backup_STATUS() to populate field Backup") + } + destination.Backup = &backup + } else { + destination.Backup = nil + } + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(server.Conditions) + + // CreateMode + if server.CreateMode != nil { + createMode := string(*server.CreateMode) + destination.CreateMode = &createMode + } else { + destination.CreateMode = nil + } + + // DataEncryption + if server.DataEncryption != nil { + var dataEncryption v20230630s.DataEncryption_STATUS + err := server.DataEncryption.AssignProperties_To_DataEncryption_STATUS(&dataEncryption) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_DataEncryption_STATUS() to populate field DataEncryption") + } + destination.DataEncryption = &dataEncryption + } else { + destination.DataEncryption = nil + } + + // FullyQualifiedDomainName + destination.FullyQualifiedDomainName = genruntime.ClonePointerToString(server.FullyQualifiedDomainName) + + // HighAvailability + if server.HighAvailability != nil { + var highAvailability v20230630s.HighAvailability_STATUS + err := server.HighAvailability.AssignProperties_To_HighAvailability_STATUS(&highAvailability) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_HighAvailability_STATUS() to populate field HighAvailability") + } + destination.HighAvailability = &highAvailability + } else { + destination.HighAvailability = nil + } + + // Id + destination.Id = genruntime.ClonePointerToString(server.Id) + + // Identity + if server.Identity != nil { + var identity v20230630s.MySQLServerIdentity_STATUS + err := server.Identity.AssignProperties_To_MySQLServerIdentity_STATUS(&identity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MySQLServerIdentity_STATUS() to populate field Identity") + } + destination.Identity = &identity + } else { + destination.Identity = nil + } + + // ImportSourceProperties + if server.ImportSourceProperties != nil { + var importSourceProperty v20230630s.ImportSourceProperties_STATUS + err := server.ImportSourceProperties.AssignProperties_To_ImportSourceProperties_STATUS(&importSourceProperty) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_ImportSourceProperties_STATUS() to populate field ImportSourceProperties") + } + destination.ImportSourceProperties = &importSourceProperty + } else { + destination.ImportSourceProperties = nil + } + + // Location + destination.Location = genruntime.ClonePointerToString(server.Location) + + // MaintenanceWindow + if server.MaintenanceWindow != nil { + var maintenanceWindow v20230630s.MaintenanceWindow_STATUS + err := server.MaintenanceWindow.AssignProperties_To_MaintenanceWindow_STATUS(&maintenanceWindow) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MaintenanceWindow_STATUS() to populate field MaintenanceWindow") + } + destination.MaintenanceWindow = &maintenanceWindow + } else { + destination.MaintenanceWindow = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(server.Name) + + // Network + if server.Network != nil { + var network v20230630s.Network_STATUS + err := server.Network.AssignProperties_To_Network_STATUS(&network) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_Network_STATUS() to populate field Network") + } + destination.Network = &network + } else { + destination.Network = nil + } + + // PrivateEndpointConnections + if server.PrivateEndpointConnections != nil { + privateEndpointConnectionList := make([]v20230630s.PrivateEndpointConnection_STATUS, len(server.PrivateEndpointConnections)) + for privateEndpointConnectionIndex, privateEndpointConnectionItem := range server.PrivateEndpointConnections { + // Shadow the loop variable to avoid aliasing + privateEndpointConnectionItem := privateEndpointConnectionItem + var privateEndpointConnection v20230630s.PrivateEndpointConnection_STATUS + err := privateEndpointConnectionItem.AssignProperties_To_PrivateEndpointConnection_STATUS(&privateEndpointConnection) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_PrivateEndpointConnection_STATUS() to populate field PrivateEndpointConnections") + } + privateEndpointConnectionList[privateEndpointConnectionIndex] = privateEndpointConnection + } + destination.PrivateEndpointConnections = privateEndpointConnectionList + } else { + destination.PrivateEndpointConnections = nil + } + + // ReplicaCapacity + destination.ReplicaCapacity = genruntime.ClonePointerToInt(server.ReplicaCapacity) + + // ReplicationRole + if server.ReplicationRole != nil { + replicationRole := string(*server.ReplicationRole) + destination.ReplicationRole = &replicationRole + } else { + destination.ReplicationRole = nil + } + + // RestorePointInTime + destination.RestorePointInTime = genruntime.ClonePointerToString(server.RestorePointInTime) + + // Sku + if server.Sku != nil { + var sku v20230630s.MySQLServerSku_STATUS + err := server.Sku.AssignProperties_To_MySQLServerSku_STATUS(&sku) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_MySQLServerSku_STATUS() to populate field Sku") + } + destination.Sku = &sku + } else { + destination.Sku = nil + } + + // SourceServerResourceId + destination.SourceServerResourceId = genruntime.ClonePointerToString(server.SourceServerResourceId) + + // State + if server.State != nil { + state := string(*server.State) + destination.State = &state + } else { + destination.State = nil + } + + // Storage + if server.Storage != nil { + var storage v20230630s.Storage_STATUS + err := server.Storage.AssignProperties_To_Storage_STATUS(&storage) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_Storage_STATUS() to populate field Storage") + } + destination.Storage = &storage + } else { + destination.Storage = nil + } + + // SystemData + if server.SystemData != nil { + var systemDatum v20230630s.SystemData_STATUS + err := server.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Tags + destination.Tags = genruntime.CloneMapOfStringToString(server.Tags) + + // Type + destination.Type = genruntime.ClonePointerToString(server.Type) + + // Version + if server.Version != nil { + version := string(*server.Version) + destination.Version = &version + } else { + destination.Version = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Storage Profile properties of a server +type Backup struct { + // BackupRetentionDays: Backup retention days for the server. + BackupRetentionDays *int `json:"backupRetentionDays,omitempty"` + + // GeoRedundantBackup: Whether or not geo redundant backup is enabled. + GeoRedundantBackup *EnableStatusEnum `json:"geoRedundantBackup,omitempty"` +} + +var _ genruntime.ARMTransformer = &Backup{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (backup *Backup) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if backup == nil { + return nil, nil + } + result := &Backup_ARM{} + + // Set property "BackupRetentionDays": + if backup.BackupRetentionDays != nil { + backupRetentionDays := *backup.BackupRetentionDays + result.BackupRetentionDays = &backupRetentionDays + } + + // Set property "GeoRedundantBackup": + if backup.GeoRedundantBackup != nil { + geoRedundantBackup := *backup.GeoRedundantBackup + result.GeoRedundantBackup = &geoRedundantBackup + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (backup *Backup) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &Backup_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (backup *Backup) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(Backup_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected Backup_ARM, got %T", armInput) + } + + // Set property "BackupRetentionDays": + if typedInput.BackupRetentionDays != nil { + backupRetentionDays := *typedInput.BackupRetentionDays + backup.BackupRetentionDays = &backupRetentionDays + } + + // Set property "GeoRedundantBackup": + if typedInput.GeoRedundantBackup != nil { + geoRedundantBackup := *typedInput.GeoRedundantBackup + backup.GeoRedundantBackup = &geoRedundantBackup + } + + // No error + return nil +} + +// AssignProperties_From_Backup populates our Backup from the provided source Backup +func (backup *Backup) AssignProperties_From_Backup(source *v20230630s.Backup) error { + + // BackupRetentionDays + backup.BackupRetentionDays = genruntime.ClonePointerToInt(source.BackupRetentionDays) + + // GeoRedundantBackup + if source.GeoRedundantBackup != nil { + geoRedundantBackup := *source.GeoRedundantBackup + geoRedundantBackupTemp := genruntime.ToEnum(geoRedundantBackup, enableStatusEnum_Values) + backup.GeoRedundantBackup = &geoRedundantBackupTemp + } else { + backup.GeoRedundantBackup = nil + } + + // No error + return nil +} + +// AssignProperties_To_Backup populates the provided destination Backup from our Backup +func (backup *Backup) AssignProperties_To_Backup(destination *v20230630s.Backup) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // BackupRetentionDays + destination.BackupRetentionDays = genruntime.ClonePointerToInt(backup.BackupRetentionDays) + + // GeoRedundantBackup + if backup.GeoRedundantBackup != nil { + geoRedundantBackup := string(*backup.GeoRedundantBackup) + destination.GeoRedundantBackup = &geoRedundantBackup + } else { + destination.GeoRedundantBackup = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Backup_STATUS populates our Backup from the provided source Backup_STATUS +func (backup *Backup) Initialize_From_Backup_STATUS(source *Backup_STATUS) error { + + // BackupRetentionDays + backup.BackupRetentionDays = genruntime.ClonePointerToInt(source.BackupRetentionDays) + + // GeoRedundantBackup + if source.GeoRedundantBackup != nil { + geoRedundantBackup := EnableStatusEnum(*source.GeoRedundantBackup) + backup.GeoRedundantBackup = &geoRedundantBackup + } else { + backup.GeoRedundantBackup = nil + } + + // No error + return nil +} + +// Storage Profile properties of a server +type Backup_STATUS struct { + // BackupRetentionDays: Backup retention days for the server. + BackupRetentionDays *int `json:"backupRetentionDays,omitempty"` + + // EarliestRestoreDate: Earliest restore point creation time (ISO8601 format) + EarliestRestoreDate *string `json:"earliestRestoreDate,omitempty"` + + // GeoRedundantBackup: Whether or not geo redundant backup is enabled. + GeoRedundantBackup *EnableStatusEnum_STATUS `json:"geoRedundantBackup,omitempty"` +} + +var _ genruntime.FromARMConverter = &Backup_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (backup *Backup_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &Backup_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (backup *Backup_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(Backup_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected Backup_STATUS_ARM, got %T", armInput) + } + + // Set property "BackupRetentionDays": + if typedInput.BackupRetentionDays != nil { + backupRetentionDays := *typedInput.BackupRetentionDays + backup.BackupRetentionDays = &backupRetentionDays + } + + // Set property "EarliestRestoreDate": + if typedInput.EarliestRestoreDate != nil { + earliestRestoreDate := *typedInput.EarliestRestoreDate + backup.EarliestRestoreDate = &earliestRestoreDate + } + + // Set property "GeoRedundantBackup": + if typedInput.GeoRedundantBackup != nil { + geoRedundantBackup := *typedInput.GeoRedundantBackup + backup.GeoRedundantBackup = &geoRedundantBackup + } + + // No error + return nil +} + +// AssignProperties_From_Backup_STATUS populates our Backup_STATUS from the provided source Backup_STATUS +func (backup *Backup_STATUS) AssignProperties_From_Backup_STATUS(source *v20230630s.Backup_STATUS) error { + + // BackupRetentionDays + backup.BackupRetentionDays = genruntime.ClonePointerToInt(source.BackupRetentionDays) + + // EarliestRestoreDate + backup.EarliestRestoreDate = genruntime.ClonePointerToString(source.EarliestRestoreDate) + + // GeoRedundantBackup + if source.GeoRedundantBackup != nil { + geoRedundantBackup := *source.GeoRedundantBackup + geoRedundantBackupTemp := genruntime.ToEnum(geoRedundantBackup, enableStatusEnum_STATUS_Values) + backup.GeoRedundantBackup = &geoRedundantBackupTemp + } else { + backup.GeoRedundantBackup = nil + } + + // No error + return nil +} + +// AssignProperties_To_Backup_STATUS populates the provided destination Backup_STATUS from our Backup_STATUS +func (backup *Backup_STATUS) AssignProperties_To_Backup_STATUS(destination *v20230630s.Backup_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // BackupRetentionDays + destination.BackupRetentionDays = genruntime.ClonePointerToInt(backup.BackupRetentionDays) + + // EarliestRestoreDate + destination.EarliestRestoreDate = genruntime.ClonePointerToString(backup.EarliestRestoreDate) + + // GeoRedundantBackup + if backup.GeoRedundantBackup != nil { + geoRedundantBackup := string(*backup.GeoRedundantBackup) + destination.GeoRedundantBackup = &geoRedundantBackup + } else { + destination.GeoRedundantBackup = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The date encryption for cmk. +type DataEncryption struct { + // GeoBackupKeyURI: Geo backup key uri as key vault can't cross region, need cmk in same region as geo backup + GeoBackupKeyURI *string `json:"geoBackupKeyURI,omitempty"` + + // GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need + // identity in same region as geo backup + GeoBackupUserAssignedIdentityReference *genruntime.ResourceReference `armReference:"GeoBackupUserAssignedIdentityId" json:"geoBackupUserAssignedIdentityReference,omitempty"` + + // PrimaryKeyURI: Primary key uri + PrimaryKeyURI *string `json:"primaryKeyURI,omitempty"` + + // PrimaryUserAssignedIdentityReference: Primary user identity resource id + PrimaryUserAssignedIdentityReference *genruntime.ResourceReference `armReference:"PrimaryUserAssignedIdentityId" json:"primaryUserAssignedIdentityReference,omitempty"` + + // Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk. + Type *DataEncryption_Type `json:"type,omitempty"` +} + +var _ genruntime.ARMTransformer = &DataEncryption{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (encryption *DataEncryption) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if encryption == nil { + return nil, nil + } + result := &DataEncryption_ARM{} + + // Set property "GeoBackupKeyURI": + if encryption.GeoBackupKeyURI != nil { + geoBackupKeyURI := *encryption.GeoBackupKeyURI + result.GeoBackupKeyURI = &geoBackupKeyURI + } + + // Set property "GeoBackupUserAssignedIdentityId": + if encryption.GeoBackupUserAssignedIdentityReference != nil { + geoBackupUserAssignedIdentityReferenceARMID, err := resolved.ResolvedReferences.Lookup(*encryption.GeoBackupUserAssignedIdentityReference) + if err != nil { + return nil, err + } + geoBackupUserAssignedIdentityReference := geoBackupUserAssignedIdentityReferenceARMID + result.GeoBackupUserAssignedIdentityId = &geoBackupUserAssignedIdentityReference + } + + // Set property "PrimaryKeyURI": + if encryption.PrimaryKeyURI != nil { + primaryKeyURI := *encryption.PrimaryKeyURI + result.PrimaryKeyURI = &primaryKeyURI + } + + // Set property "PrimaryUserAssignedIdentityId": + if encryption.PrimaryUserAssignedIdentityReference != nil { + primaryUserAssignedIdentityReferenceARMID, err := resolved.ResolvedReferences.Lookup(*encryption.PrimaryUserAssignedIdentityReference) + if err != nil { + return nil, err + } + primaryUserAssignedIdentityReference := primaryUserAssignedIdentityReferenceARMID + result.PrimaryUserAssignedIdentityId = &primaryUserAssignedIdentityReference + } + + // Set property "Type": + if encryption.Type != nil { + typeVar := *encryption.Type + result.Type = &typeVar + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (encryption *DataEncryption) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &DataEncryption_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (encryption *DataEncryption) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(DataEncryption_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected DataEncryption_ARM, got %T", armInput) + } + + // Set property "GeoBackupKeyURI": + if typedInput.GeoBackupKeyURI != nil { + geoBackupKeyURI := *typedInput.GeoBackupKeyURI + encryption.GeoBackupKeyURI = &geoBackupKeyURI + } + + // no assignment for property "GeoBackupUserAssignedIdentityReference" + + // Set property "PrimaryKeyURI": + if typedInput.PrimaryKeyURI != nil { + primaryKeyURI := *typedInput.PrimaryKeyURI + encryption.PrimaryKeyURI = &primaryKeyURI + } + + // no assignment for property "PrimaryUserAssignedIdentityReference" + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + encryption.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_DataEncryption populates our DataEncryption from the provided source DataEncryption +func (encryption *DataEncryption) AssignProperties_From_DataEncryption(source *v20230630s.DataEncryption) error { + + // GeoBackupKeyURI + encryption.GeoBackupKeyURI = genruntime.ClonePointerToString(source.GeoBackupKeyURI) + + // GeoBackupUserAssignedIdentityReference + if source.GeoBackupUserAssignedIdentityReference != nil { + geoBackupUserAssignedIdentityReference := source.GeoBackupUserAssignedIdentityReference.Copy() + encryption.GeoBackupUserAssignedIdentityReference = &geoBackupUserAssignedIdentityReference + } else { + encryption.GeoBackupUserAssignedIdentityReference = nil + } + + // PrimaryKeyURI + encryption.PrimaryKeyURI = genruntime.ClonePointerToString(source.PrimaryKeyURI) + + // PrimaryUserAssignedIdentityReference + if source.PrimaryUserAssignedIdentityReference != nil { + primaryUserAssignedIdentityReference := source.PrimaryUserAssignedIdentityReference.Copy() + encryption.PrimaryUserAssignedIdentityReference = &primaryUserAssignedIdentityReference + } else { + encryption.PrimaryUserAssignedIdentityReference = nil + } + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, dataEncryption_Type_Values) + encryption.Type = &typeTemp + } else { + encryption.Type = nil + } + + // No error + return nil +} + +// AssignProperties_To_DataEncryption populates the provided destination DataEncryption from our DataEncryption +func (encryption *DataEncryption) AssignProperties_To_DataEncryption(destination *v20230630s.DataEncryption) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // GeoBackupKeyURI + destination.GeoBackupKeyURI = genruntime.ClonePointerToString(encryption.GeoBackupKeyURI) + + // GeoBackupUserAssignedIdentityReference + if encryption.GeoBackupUserAssignedIdentityReference != nil { + geoBackupUserAssignedIdentityReference := encryption.GeoBackupUserAssignedIdentityReference.Copy() + destination.GeoBackupUserAssignedIdentityReference = &geoBackupUserAssignedIdentityReference + } else { + destination.GeoBackupUserAssignedIdentityReference = nil + } + + // PrimaryKeyURI + destination.PrimaryKeyURI = genruntime.ClonePointerToString(encryption.PrimaryKeyURI) + + // PrimaryUserAssignedIdentityReference + if encryption.PrimaryUserAssignedIdentityReference != nil { + primaryUserAssignedIdentityReference := encryption.PrimaryUserAssignedIdentityReference.Copy() + destination.PrimaryUserAssignedIdentityReference = &primaryUserAssignedIdentityReference + } else { + destination.PrimaryUserAssignedIdentityReference = nil + } + + // Type + if encryption.Type != nil { + typeVar := string(*encryption.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_DataEncryption_STATUS populates our DataEncryption from the provided source DataEncryption_STATUS +func (encryption *DataEncryption) Initialize_From_DataEncryption_STATUS(source *DataEncryption_STATUS) error { + + // GeoBackupKeyURI + encryption.GeoBackupKeyURI = genruntime.ClonePointerToString(source.GeoBackupKeyURI) + + // GeoBackupUserAssignedIdentityReference + if source.GeoBackupUserAssignedIdentityId != nil { + geoBackupUserAssignedIdentityReference := genruntime.CreateResourceReferenceFromARMID(*source.GeoBackupUserAssignedIdentityId) + encryption.GeoBackupUserAssignedIdentityReference = &geoBackupUserAssignedIdentityReference + } else { + encryption.GeoBackupUserAssignedIdentityReference = nil + } + + // PrimaryKeyURI + encryption.PrimaryKeyURI = genruntime.ClonePointerToString(source.PrimaryKeyURI) + + // PrimaryUserAssignedIdentityReference + if source.PrimaryUserAssignedIdentityId != nil { + primaryUserAssignedIdentityReference := genruntime.CreateResourceReferenceFromARMID(*source.PrimaryUserAssignedIdentityId) + encryption.PrimaryUserAssignedIdentityReference = &primaryUserAssignedIdentityReference + } else { + encryption.PrimaryUserAssignedIdentityReference = nil + } + + // Type + if source.Type != nil { + typeVar := DataEncryption_Type(*source.Type) + encryption.Type = &typeVar + } else { + encryption.Type = nil + } + + // No error + return nil +} + +// The date encryption for cmk. +type DataEncryption_STATUS struct { + // GeoBackupKeyURI: Geo backup key uri as key vault can't cross region, need cmk in same region as geo backup + GeoBackupKeyURI *string `json:"geoBackupKeyURI,omitempty"` + + // GeoBackupUserAssignedIdentityId: Geo backup user identity resource id as identity can't cross region, need identity in + // same region as geo backup + GeoBackupUserAssignedIdentityId *string `json:"geoBackupUserAssignedIdentityId,omitempty"` + + // PrimaryKeyURI: Primary key uri + PrimaryKeyURI *string `json:"primaryKeyURI,omitempty"` + + // PrimaryUserAssignedIdentityId: Primary user identity resource id + PrimaryUserAssignedIdentityId *string `json:"primaryUserAssignedIdentityId,omitempty"` + + // Type: The key type, AzureKeyVault for enable cmk, SystemManaged for disable cmk. + Type *DataEncryption_Type_STATUS `json:"type,omitempty"` +} + +var _ genruntime.FromARMConverter = &DataEncryption_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (encryption *DataEncryption_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &DataEncryption_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (encryption *DataEncryption_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(DataEncryption_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected DataEncryption_STATUS_ARM, got %T", armInput) + } + + // Set property "GeoBackupKeyURI": + if typedInput.GeoBackupKeyURI != nil { + geoBackupKeyURI := *typedInput.GeoBackupKeyURI + encryption.GeoBackupKeyURI = &geoBackupKeyURI + } + + // Set property "GeoBackupUserAssignedIdentityId": + if typedInput.GeoBackupUserAssignedIdentityId != nil { + geoBackupUserAssignedIdentityId := *typedInput.GeoBackupUserAssignedIdentityId + encryption.GeoBackupUserAssignedIdentityId = &geoBackupUserAssignedIdentityId + } + + // Set property "PrimaryKeyURI": + if typedInput.PrimaryKeyURI != nil { + primaryKeyURI := *typedInput.PrimaryKeyURI + encryption.PrimaryKeyURI = &primaryKeyURI + } + + // Set property "PrimaryUserAssignedIdentityId": + if typedInput.PrimaryUserAssignedIdentityId != nil { + primaryUserAssignedIdentityId := *typedInput.PrimaryUserAssignedIdentityId + encryption.PrimaryUserAssignedIdentityId = &primaryUserAssignedIdentityId + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + encryption.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_DataEncryption_STATUS populates our DataEncryption_STATUS from the provided source DataEncryption_STATUS +func (encryption *DataEncryption_STATUS) AssignProperties_From_DataEncryption_STATUS(source *v20230630s.DataEncryption_STATUS) error { + + // GeoBackupKeyURI + encryption.GeoBackupKeyURI = genruntime.ClonePointerToString(source.GeoBackupKeyURI) + + // GeoBackupUserAssignedIdentityId + encryption.GeoBackupUserAssignedIdentityId = genruntime.ClonePointerToString(source.GeoBackupUserAssignedIdentityId) + + // PrimaryKeyURI + encryption.PrimaryKeyURI = genruntime.ClonePointerToString(source.PrimaryKeyURI) + + // PrimaryUserAssignedIdentityId + encryption.PrimaryUserAssignedIdentityId = genruntime.ClonePointerToString(source.PrimaryUserAssignedIdentityId) + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, dataEncryption_Type_STATUS_Values) + encryption.Type = &typeTemp + } else { + encryption.Type = nil + } + + // No error + return nil +} + +// AssignProperties_To_DataEncryption_STATUS populates the provided destination DataEncryption_STATUS from our DataEncryption_STATUS +func (encryption *DataEncryption_STATUS) AssignProperties_To_DataEncryption_STATUS(destination *v20230630s.DataEncryption_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // GeoBackupKeyURI + destination.GeoBackupKeyURI = genruntime.ClonePointerToString(encryption.GeoBackupKeyURI) + + // GeoBackupUserAssignedIdentityId + destination.GeoBackupUserAssignedIdentityId = genruntime.ClonePointerToString(encryption.GeoBackupUserAssignedIdentityId) + + // PrimaryKeyURI + destination.PrimaryKeyURI = genruntime.ClonePointerToString(encryption.PrimaryKeyURI) + + // PrimaryUserAssignedIdentityId + destination.PrimaryUserAssignedIdentityId = genruntime.ClonePointerToString(encryption.PrimaryUserAssignedIdentityId) + + // Type + if encryption.Type != nil { + typeVar := string(*encryption.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type FlexibleServerOperatorSpec struct { + // ConfigMaps: configures where to place operator written ConfigMaps. + ConfigMaps *FlexibleServerOperatorConfigMaps `json:"configMaps,omitempty"` + + // Secrets: configures where to place Azure generated secrets. + Secrets *FlexibleServerOperatorSecrets `json:"secrets,omitempty"` +} + +// AssignProperties_From_FlexibleServerOperatorSpec populates our FlexibleServerOperatorSpec from the provided source FlexibleServerOperatorSpec +func (operator *FlexibleServerOperatorSpec) AssignProperties_From_FlexibleServerOperatorSpec(source *v20230630s.FlexibleServerOperatorSpec) error { + + // ConfigMaps + if source.ConfigMaps != nil { + var configMap FlexibleServerOperatorConfigMaps + err := configMap.AssignProperties_From_FlexibleServerOperatorConfigMaps(source.ConfigMaps) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServerOperatorConfigMaps() to populate field ConfigMaps") + } + operator.ConfigMaps = &configMap + } else { + operator.ConfigMaps = nil + } + + // Secrets + if source.Secrets != nil { + var secret FlexibleServerOperatorSecrets + err := secret.AssignProperties_From_FlexibleServerOperatorSecrets(source.Secrets) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServerOperatorSecrets() to populate field Secrets") + } + operator.Secrets = &secret + } else { + operator.Secrets = nil + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServerOperatorSpec populates the provided destination FlexibleServerOperatorSpec from our FlexibleServerOperatorSpec +func (operator *FlexibleServerOperatorSpec) AssignProperties_To_FlexibleServerOperatorSpec(destination *v20230630s.FlexibleServerOperatorSpec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // ConfigMaps + if operator.ConfigMaps != nil { + var configMap v20230630s.FlexibleServerOperatorConfigMaps + err := operator.ConfigMaps.AssignProperties_To_FlexibleServerOperatorConfigMaps(&configMap) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServerOperatorConfigMaps() to populate field ConfigMaps") + } + destination.ConfigMaps = &configMap + } else { + destination.ConfigMaps = nil + } + + // Secrets + if operator.Secrets != nil { + var secret v20230630s.FlexibleServerOperatorSecrets + err := operator.Secrets.AssignProperties_To_FlexibleServerOperatorSecrets(&secret) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServerOperatorSecrets() to populate field Secrets") + } + destination.Secrets = &secret + } else { + destination.Secrets = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Network related properties of a server +type HighAvailability struct { + // Mode: High availability mode for a server. + Mode *HighAvailability_Mode `json:"mode,omitempty"` + + // StandbyAvailabilityZone: Availability zone of the standby server. + StandbyAvailabilityZone *string `json:"standbyAvailabilityZone,omitempty"` +} + +var _ genruntime.ARMTransformer = &HighAvailability{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (availability *HighAvailability) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if availability == nil { + return nil, nil + } + result := &HighAvailability_ARM{} + + // Set property "Mode": + if availability.Mode != nil { + mode := *availability.Mode + result.Mode = &mode + } + + // Set property "StandbyAvailabilityZone": + if availability.StandbyAvailabilityZone != nil { + standbyAvailabilityZone := *availability.StandbyAvailabilityZone + result.StandbyAvailabilityZone = &standbyAvailabilityZone + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (availability *HighAvailability) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &HighAvailability_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (availability *HighAvailability) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(HighAvailability_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected HighAvailability_ARM, got %T", armInput) + } + + // Set property "Mode": + if typedInput.Mode != nil { + mode := *typedInput.Mode + availability.Mode = &mode + } + + // Set property "StandbyAvailabilityZone": + if typedInput.StandbyAvailabilityZone != nil { + standbyAvailabilityZone := *typedInput.StandbyAvailabilityZone + availability.StandbyAvailabilityZone = &standbyAvailabilityZone + } + + // No error + return nil +} + +// AssignProperties_From_HighAvailability populates our HighAvailability from the provided source HighAvailability +func (availability *HighAvailability) AssignProperties_From_HighAvailability(source *v20230630s.HighAvailability) error { + + // Mode + if source.Mode != nil { + mode := *source.Mode + modeTemp := genruntime.ToEnum(mode, highAvailability_Mode_Values) + availability.Mode = &modeTemp + } else { + availability.Mode = nil + } + + // StandbyAvailabilityZone + availability.StandbyAvailabilityZone = genruntime.ClonePointerToString(source.StandbyAvailabilityZone) + + // No error + return nil +} + +// AssignProperties_To_HighAvailability populates the provided destination HighAvailability from our HighAvailability +func (availability *HighAvailability) AssignProperties_To_HighAvailability(destination *v20230630s.HighAvailability) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Mode + if availability.Mode != nil { + mode := string(*availability.Mode) + destination.Mode = &mode + } else { + destination.Mode = nil + } + + // StandbyAvailabilityZone + destination.StandbyAvailabilityZone = genruntime.ClonePointerToString(availability.StandbyAvailabilityZone) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_HighAvailability_STATUS populates our HighAvailability from the provided source HighAvailability_STATUS +func (availability *HighAvailability) Initialize_From_HighAvailability_STATUS(source *HighAvailability_STATUS) error { + + // Mode + if source.Mode != nil { + mode := HighAvailability_Mode(*source.Mode) + availability.Mode = &mode + } else { + availability.Mode = nil + } + + // StandbyAvailabilityZone + availability.StandbyAvailabilityZone = genruntime.ClonePointerToString(source.StandbyAvailabilityZone) + + // No error + return nil +} + +// Network related properties of a server +type HighAvailability_STATUS struct { + // Mode: High availability mode for a server. + Mode *HighAvailability_Mode_STATUS `json:"mode,omitempty"` + + // StandbyAvailabilityZone: Availability zone of the standby server. + StandbyAvailabilityZone *string `json:"standbyAvailabilityZone,omitempty"` + + // State: The state of server high availability. + State *HighAvailability_State_STATUS `json:"state,omitempty"` +} + +var _ genruntime.FromARMConverter = &HighAvailability_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (availability *HighAvailability_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &HighAvailability_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (availability *HighAvailability_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(HighAvailability_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected HighAvailability_STATUS_ARM, got %T", armInput) + } + + // Set property "Mode": + if typedInput.Mode != nil { + mode := *typedInput.Mode + availability.Mode = &mode + } + + // Set property "StandbyAvailabilityZone": + if typedInput.StandbyAvailabilityZone != nil { + standbyAvailabilityZone := *typedInput.StandbyAvailabilityZone + availability.StandbyAvailabilityZone = &standbyAvailabilityZone + } + + // Set property "State": + if typedInput.State != nil { + state := *typedInput.State + availability.State = &state + } + + // No error + return nil +} + +// AssignProperties_From_HighAvailability_STATUS populates our HighAvailability_STATUS from the provided source HighAvailability_STATUS +func (availability *HighAvailability_STATUS) AssignProperties_From_HighAvailability_STATUS(source *v20230630s.HighAvailability_STATUS) error { + + // Mode + if source.Mode != nil { + mode := *source.Mode + modeTemp := genruntime.ToEnum(mode, highAvailability_Mode_STATUS_Values) + availability.Mode = &modeTemp + } else { + availability.Mode = nil + } + + // StandbyAvailabilityZone + availability.StandbyAvailabilityZone = genruntime.ClonePointerToString(source.StandbyAvailabilityZone) + + // State + if source.State != nil { + state := *source.State + stateTemp := genruntime.ToEnum(state, highAvailability_State_STATUS_Values) + availability.State = &stateTemp + } else { + availability.State = nil + } + + // No error + return nil +} + +// AssignProperties_To_HighAvailability_STATUS populates the provided destination HighAvailability_STATUS from our HighAvailability_STATUS +func (availability *HighAvailability_STATUS) AssignProperties_To_HighAvailability_STATUS(destination *v20230630s.HighAvailability_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Mode + if availability.Mode != nil { + mode := string(*availability.Mode) + destination.Mode = &mode + } else { + destination.Mode = nil + } + + // StandbyAvailabilityZone + destination.StandbyAvailabilityZone = genruntime.ClonePointerToString(availability.StandbyAvailabilityZone) + + // State + if availability.State != nil { + state := string(*availability.State) + destination.State = &state + } else { + destination.State = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Import source related properties. +type ImportSourceProperties struct { + // DataDirPath: Relative path of data directory in storage. + DataDirPath *string `json:"dataDirPath,omitempty"` + + // SasToken: Sas token for accessing source storage. Read and list permissions are required for sas token. + SasToken *genruntime.SecretReference `json:"sasToken,omitempty"` + + // StorageType: Storage type of import source. + StorageType *ImportSourceProperties_StorageType `json:"storageType,omitempty"` + + // StorageUrl: Uri of the import source storage. + StorageUrl *string `json:"storageUrl,omitempty"` +} + +var _ genruntime.ARMTransformer = &ImportSourceProperties{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (properties *ImportSourceProperties) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if properties == nil { + return nil, nil + } + result := &ImportSourceProperties_ARM{} + + // Set property "DataDirPath": + if properties.DataDirPath != nil { + dataDirPath := *properties.DataDirPath + result.DataDirPath = &dataDirPath + } + + // Set property "SasToken": + if properties.SasToken != nil { + sasTokenSecret, err := resolved.ResolvedSecrets.Lookup(*properties.SasToken) + if err != nil { + return nil, errors.Wrap(err, "looking up secret for property SasToken") + } + sasToken := sasTokenSecret + result.SasToken = &sasToken + } + + // Set property "StorageType": + if properties.StorageType != nil { + storageType := *properties.StorageType + result.StorageType = &storageType + } + + // Set property "StorageUrl": + if properties.StorageUrl != nil { + storageUrl := *properties.StorageUrl + result.StorageUrl = &storageUrl + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (properties *ImportSourceProperties) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &ImportSourceProperties_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (properties *ImportSourceProperties) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(ImportSourceProperties_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected ImportSourceProperties_ARM, got %T", armInput) + } + + // Set property "DataDirPath": + if typedInput.DataDirPath != nil { + dataDirPath := *typedInput.DataDirPath + properties.DataDirPath = &dataDirPath + } + + // no assignment for property "SasToken" + + // Set property "StorageType": + if typedInput.StorageType != nil { + storageType := *typedInput.StorageType + properties.StorageType = &storageType + } + + // Set property "StorageUrl": + if typedInput.StorageUrl != nil { + storageUrl := *typedInput.StorageUrl + properties.StorageUrl = &storageUrl + } + + // No error + return nil +} + +// AssignProperties_From_ImportSourceProperties populates our ImportSourceProperties from the provided source ImportSourceProperties +func (properties *ImportSourceProperties) AssignProperties_From_ImportSourceProperties(source *v20230630s.ImportSourceProperties) error { + + // DataDirPath + properties.DataDirPath = genruntime.ClonePointerToString(source.DataDirPath) + + // SasToken + if source.SasToken != nil { + sasToken := source.SasToken.Copy() + properties.SasToken = &sasToken + } else { + properties.SasToken = nil + } + + // StorageType + if source.StorageType != nil { + storageType := *source.StorageType + storageTypeTemp := genruntime.ToEnum(storageType, importSourceProperties_StorageType_Values) + properties.StorageType = &storageTypeTemp + } else { + properties.StorageType = nil + } + + // StorageUrl + properties.StorageUrl = genruntime.ClonePointerToString(source.StorageUrl) + + // No error + return nil +} + +// AssignProperties_To_ImportSourceProperties populates the provided destination ImportSourceProperties from our ImportSourceProperties +func (properties *ImportSourceProperties) AssignProperties_To_ImportSourceProperties(destination *v20230630s.ImportSourceProperties) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DataDirPath + destination.DataDirPath = genruntime.ClonePointerToString(properties.DataDirPath) + + // SasToken + if properties.SasToken != nil { + sasToken := properties.SasToken.Copy() + destination.SasToken = &sasToken + } else { + destination.SasToken = nil + } + + // StorageType + if properties.StorageType != nil { + storageType := string(*properties.StorageType) + destination.StorageType = &storageType + } else { + destination.StorageType = nil + } + + // StorageUrl + destination.StorageUrl = genruntime.ClonePointerToString(properties.StorageUrl) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_ImportSourceProperties_STATUS populates our ImportSourceProperties from the provided source ImportSourceProperties_STATUS +func (properties *ImportSourceProperties) Initialize_From_ImportSourceProperties_STATUS(source *ImportSourceProperties_STATUS) error { + + // DataDirPath + properties.DataDirPath = genruntime.ClonePointerToString(source.DataDirPath) + + // StorageType + if source.StorageType != nil { + storageType := ImportSourceProperties_StorageType(*source.StorageType) + properties.StorageType = &storageType + } else { + properties.StorageType = nil + } + + // StorageUrl + properties.StorageUrl = genruntime.ClonePointerToString(source.StorageUrl) + + // No error + return nil +} + +// Import source related properties. +type ImportSourceProperties_STATUS struct { + // DataDirPath: Relative path of data directory in storage. + DataDirPath *string `json:"dataDirPath,omitempty"` + + // StorageType: Storage type of import source. + StorageType *ImportSourceProperties_StorageType_STATUS `json:"storageType,omitempty"` + + // StorageUrl: Uri of the import source storage. + StorageUrl *string `json:"storageUrl,omitempty"` +} + +var _ genruntime.FromARMConverter = &ImportSourceProperties_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (properties *ImportSourceProperties_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &ImportSourceProperties_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (properties *ImportSourceProperties_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(ImportSourceProperties_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected ImportSourceProperties_STATUS_ARM, got %T", armInput) + } + + // Set property "DataDirPath": + if typedInput.DataDirPath != nil { + dataDirPath := *typedInput.DataDirPath + properties.DataDirPath = &dataDirPath + } + + // Set property "StorageType": + if typedInput.StorageType != nil { + storageType := *typedInput.StorageType + properties.StorageType = &storageType + } + + // Set property "StorageUrl": + if typedInput.StorageUrl != nil { + storageUrl := *typedInput.StorageUrl + properties.StorageUrl = &storageUrl + } + + // No error + return nil +} + +// AssignProperties_From_ImportSourceProperties_STATUS populates our ImportSourceProperties_STATUS from the provided source ImportSourceProperties_STATUS +func (properties *ImportSourceProperties_STATUS) AssignProperties_From_ImportSourceProperties_STATUS(source *v20230630s.ImportSourceProperties_STATUS) error { + + // DataDirPath + properties.DataDirPath = genruntime.ClonePointerToString(source.DataDirPath) + + // StorageType + if source.StorageType != nil { + storageType := *source.StorageType + storageTypeTemp := genruntime.ToEnum(storageType, importSourceProperties_StorageType_STATUS_Values) + properties.StorageType = &storageTypeTemp + } else { + properties.StorageType = nil + } + + // StorageUrl + properties.StorageUrl = genruntime.ClonePointerToString(source.StorageUrl) + + // No error + return nil +} + +// AssignProperties_To_ImportSourceProperties_STATUS populates the provided destination ImportSourceProperties_STATUS from our ImportSourceProperties_STATUS +func (properties *ImportSourceProperties_STATUS) AssignProperties_To_ImportSourceProperties_STATUS(destination *v20230630s.ImportSourceProperties_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DataDirPath + destination.DataDirPath = genruntime.ClonePointerToString(properties.DataDirPath) + + // StorageType + if properties.StorageType != nil { + storageType := string(*properties.StorageType) + destination.StorageType = &storageType + } else { + destination.StorageType = nil + } + + // StorageUrl + destination.StorageUrl = genruntime.ClonePointerToString(properties.StorageUrl) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Maintenance window of a server. +type MaintenanceWindow struct { + // CustomWindow: indicates whether custom window is enabled or disabled + CustomWindow *string `json:"customWindow,omitempty"` + + // DayOfWeek: day of week for maintenance window + DayOfWeek *int `json:"dayOfWeek,omitempty"` + + // StartHour: start hour for maintenance window + StartHour *int `json:"startHour,omitempty"` + + // StartMinute: start minute for maintenance window + StartMinute *int `json:"startMinute,omitempty"` +} + +var _ genruntime.ARMTransformer = &MaintenanceWindow{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (window *MaintenanceWindow) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if window == nil { + return nil, nil + } + result := &MaintenanceWindow_ARM{} + + // Set property "CustomWindow": + if window.CustomWindow != nil { + customWindow := *window.CustomWindow + result.CustomWindow = &customWindow + } + + // Set property "DayOfWeek": + if window.DayOfWeek != nil { + dayOfWeek := *window.DayOfWeek + result.DayOfWeek = &dayOfWeek + } + + // Set property "StartHour": + if window.StartHour != nil { + startHour := *window.StartHour + result.StartHour = &startHour + } + + // Set property "StartMinute": + if window.StartMinute != nil { + startMinute := *window.StartMinute + result.StartMinute = &startMinute + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (window *MaintenanceWindow) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &MaintenanceWindow_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (window *MaintenanceWindow) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(MaintenanceWindow_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected MaintenanceWindow_ARM, got %T", armInput) + } + + // Set property "CustomWindow": + if typedInput.CustomWindow != nil { + customWindow := *typedInput.CustomWindow + window.CustomWindow = &customWindow + } + + // Set property "DayOfWeek": + if typedInput.DayOfWeek != nil { + dayOfWeek := *typedInput.DayOfWeek + window.DayOfWeek = &dayOfWeek + } + + // Set property "StartHour": + if typedInput.StartHour != nil { + startHour := *typedInput.StartHour + window.StartHour = &startHour + } + + // Set property "StartMinute": + if typedInput.StartMinute != nil { + startMinute := *typedInput.StartMinute + window.StartMinute = &startMinute + } + + // No error + return nil +} + +// AssignProperties_From_MaintenanceWindow populates our MaintenanceWindow from the provided source MaintenanceWindow +func (window *MaintenanceWindow) AssignProperties_From_MaintenanceWindow(source *v20230630s.MaintenanceWindow) error { + + // CustomWindow + window.CustomWindow = genruntime.ClonePointerToString(source.CustomWindow) + + // DayOfWeek + window.DayOfWeek = genruntime.ClonePointerToInt(source.DayOfWeek) + + // StartHour + window.StartHour = genruntime.ClonePointerToInt(source.StartHour) + + // StartMinute + window.StartMinute = genruntime.ClonePointerToInt(source.StartMinute) + + // No error + return nil +} + +// AssignProperties_To_MaintenanceWindow populates the provided destination MaintenanceWindow from our MaintenanceWindow +func (window *MaintenanceWindow) AssignProperties_To_MaintenanceWindow(destination *v20230630s.MaintenanceWindow) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CustomWindow + destination.CustomWindow = genruntime.ClonePointerToString(window.CustomWindow) + + // DayOfWeek + destination.DayOfWeek = genruntime.ClonePointerToInt(window.DayOfWeek) + + // StartHour + destination.StartHour = genruntime.ClonePointerToInt(window.StartHour) + + // StartMinute + destination.StartMinute = genruntime.ClonePointerToInt(window.StartMinute) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_MaintenanceWindow_STATUS populates our MaintenanceWindow from the provided source MaintenanceWindow_STATUS +func (window *MaintenanceWindow) Initialize_From_MaintenanceWindow_STATUS(source *MaintenanceWindow_STATUS) error { + + // CustomWindow + window.CustomWindow = genruntime.ClonePointerToString(source.CustomWindow) + + // DayOfWeek + window.DayOfWeek = genruntime.ClonePointerToInt(source.DayOfWeek) + + // StartHour + window.StartHour = genruntime.ClonePointerToInt(source.StartHour) + + // StartMinute + window.StartMinute = genruntime.ClonePointerToInt(source.StartMinute) + + // No error + return nil +} + +// Maintenance window of a server. +type MaintenanceWindow_STATUS struct { + // CustomWindow: indicates whether custom window is enabled or disabled + CustomWindow *string `json:"customWindow,omitempty"` + + // DayOfWeek: day of week for maintenance window + DayOfWeek *int `json:"dayOfWeek,omitempty"` + + // StartHour: start hour for maintenance window + StartHour *int `json:"startHour,omitempty"` + + // StartMinute: start minute for maintenance window + StartMinute *int `json:"startMinute,omitempty"` +} + +var _ genruntime.FromARMConverter = &MaintenanceWindow_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (window *MaintenanceWindow_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &MaintenanceWindow_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (window *MaintenanceWindow_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(MaintenanceWindow_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected MaintenanceWindow_STATUS_ARM, got %T", armInput) + } + + // Set property "CustomWindow": + if typedInput.CustomWindow != nil { + customWindow := *typedInput.CustomWindow + window.CustomWindow = &customWindow + } + + // Set property "DayOfWeek": + if typedInput.DayOfWeek != nil { + dayOfWeek := *typedInput.DayOfWeek + window.DayOfWeek = &dayOfWeek + } + + // Set property "StartHour": + if typedInput.StartHour != nil { + startHour := *typedInput.StartHour + window.StartHour = &startHour + } + + // Set property "StartMinute": + if typedInput.StartMinute != nil { + startMinute := *typedInput.StartMinute + window.StartMinute = &startMinute + } + + // No error + return nil +} + +// AssignProperties_From_MaintenanceWindow_STATUS populates our MaintenanceWindow_STATUS from the provided source MaintenanceWindow_STATUS +func (window *MaintenanceWindow_STATUS) AssignProperties_From_MaintenanceWindow_STATUS(source *v20230630s.MaintenanceWindow_STATUS) error { + + // CustomWindow + window.CustomWindow = genruntime.ClonePointerToString(source.CustomWindow) + + // DayOfWeek + window.DayOfWeek = genruntime.ClonePointerToInt(source.DayOfWeek) + + // StartHour + window.StartHour = genruntime.ClonePointerToInt(source.StartHour) + + // StartMinute + window.StartMinute = genruntime.ClonePointerToInt(source.StartMinute) + + // No error + return nil +} + +// AssignProperties_To_MaintenanceWindow_STATUS populates the provided destination MaintenanceWindow_STATUS from our MaintenanceWindow_STATUS +func (window *MaintenanceWindow_STATUS) AssignProperties_To_MaintenanceWindow_STATUS(destination *v20230630s.MaintenanceWindow_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CustomWindow + destination.CustomWindow = genruntime.ClonePointerToString(window.CustomWindow) + + // DayOfWeek + destination.DayOfWeek = genruntime.ClonePointerToInt(window.DayOfWeek) + + // StartHour + destination.StartHour = genruntime.ClonePointerToInt(window.StartHour) + + // StartMinute + destination.StartMinute = genruntime.ClonePointerToInt(window.StartMinute) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Properties to configure Identity for Bring your Own Keys +type MySQLServerIdentity struct { + // Type: Type of managed service identity. + Type *MySQLServerIdentity_Type `json:"type,omitempty"` + + // UserAssignedIdentities: Metadata of user assigned identity. + UserAssignedIdentities []UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` +} + +var _ genruntime.ARMTransformer = &MySQLServerIdentity{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (identity *MySQLServerIdentity) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if identity == nil { + return nil, nil + } + result := &MySQLServerIdentity_ARM{} + + // Set property "Type": + if identity.Type != nil { + typeVar := *identity.Type + result.Type = &typeVar + } + + // Set property "UserAssignedIdentities": + result.UserAssignedIdentities = make(map[string]UserAssignedIdentityDetails_ARM, len(identity.UserAssignedIdentities)) + for _, ident := range identity.UserAssignedIdentities { + identARMID, err := resolved.ResolvedReferences.Lookup(ident.Reference) + if err != nil { + return nil, err + } + key := identARMID + result.UserAssignedIdentities[key] = UserAssignedIdentityDetails_ARM{} + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *MySQLServerIdentity) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &MySQLServerIdentity_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *MySQLServerIdentity) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(MySQLServerIdentity_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected MySQLServerIdentity_ARM, got %T", armInput) + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + identity.Type = &typeVar + } + + // no assignment for property "UserAssignedIdentities" + + // No error + return nil +} + +// AssignProperties_From_MySQLServerIdentity populates our MySQLServerIdentity from the provided source MySQLServerIdentity +func (identity *MySQLServerIdentity) AssignProperties_From_MySQLServerIdentity(source *v20230630s.MySQLServerIdentity) error { + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, mySQLServerIdentity_Type_Values) + identity.Type = &typeTemp + } else { + identity.Type = nil + } + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]UserAssignedIdentityDetails, len(source.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range source.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity UserAssignedIdentityDetails + err := userAssignedIdentity.AssignProperties_From_UserAssignedIdentityDetails(&userAssignedIdentityItem) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_UserAssignedIdentityDetails() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + identity.UserAssignedIdentities = userAssignedIdentityList + } else { + identity.UserAssignedIdentities = nil + } + + // No error + return nil +} + +// AssignProperties_To_MySQLServerIdentity populates the provided destination MySQLServerIdentity from our MySQLServerIdentity +func (identity *MySQLServerIdentity) AssignProperties_To_MySQLServerIdentity(destination *v20230630s.MySQLServerIdentity) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Type + if identity.Type != nil { + typeVar := string(*identity.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // UserAssignedIdentities + if identity.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]v20230630s.UserAssignedIdentityDetails, len(identity.UserAssignedIdentities)) + for userAssignedIdentityIndex, userAssignedIdentityItem := range identity.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityItem := userAssignedIdentityItem + var userAssignedIdentity v20230630s.UserAssignedIdentityDetails + err := userAssignedIdentityItem.AssignProperties_To_UserAssignedIdentityDetails(&userAssignedIdentity) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_UserAssignedIdentityDetails() to populate field UserAssignedIdentities") + } + userAssignedIdentityList[userAssignedIdentityIndex] = userAssignedIdentity + } + destination.UserAssignedIdentities = userAssignedIdentityList + } else { + destination.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_MySQLServerIdentity_STATUS populates our MySQLServerIdentity from the provided source MySQLServerIdentity_STATUS +func (identity *MySQLServerIdentity) Initialize_From_MySQLServerIdentity_STATUS(source *MySQLServerIdentity_STATUS) error { + + // Type + if source.Type != nil { + typeVar := MySQLServerIdentity_Type(*source.Type) + identity.Type = &typeVar + } else { + identity.Type = nil + } + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityList := make([]UserAssignedIdentityDetails, 0, len(source.UserAssignedIdentities)) + for userAssignedIdentitiesKey := range source.UserAssignedIdentities { + userAssignedIdentitiesRef := genruntime.CreateResourceReferenceFromARMID(userAssignedIdentitiesKey) + userAssignedIdentityList = append(userAssignedIdentityList, UserAssignedIdentityDetails{Reference: userAssignedIdentitiesRef}) + } + identity.UserAssignedIdentities = userAssignedIdentityList + } else { + identity.UserAssignedIdentities = nil + } + + // No error + return nil +} + +// Properties to configure Identity for Bring your Own Keys +type MySQLServerIdentity_STATUS struct { + // PrincipalId: ObjectId from the KeyVault + PrincipalId *string `json:"principalId,omitempty"` + + // TenantId: TenantId from the KeyVault + TenantId *string `json:"tenantId,omitempty"` + + // Type: Type of managed service identity. + Type *MySQLServerIdentity_Type_STATUS `json:"type,omitempty"` + + // UserAssignedIdentities: Metadata of user assigned identity. + UserAssignedIdentities map[string]v1.JSON `json:"userAssignedIdentities,omitempty"` +} + +var _ genruntime.FromARMConverter = &MySQLServerIdentity_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (identity *MySQLServerIdentity_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &MySQLServerIdentity_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (identity *MySQLServerIdentity_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(MySQLServerIdentity_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected MySQLServerIdentity_STATUS_ARM, got %T", armInput) + } + + // Set property "PrincipalId": + if typedInput.PrincipalId != nil { + principalId := *typedInput.PrincipalId + identity.PrincipalId = &principalId + } + + // Set property "TenantId": + if typedInput.TenantId != nil { + tenantId := *typedInput.TenantId + identity.TenantId = &tenantId + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + identity.Type = &typeVar + } + + // Set property "UserAssignedIdentities": + if typedInput.UserAssignedIdentities != nil { + identity.UserAssignedIdentities = make(map[string]v1.JSON, len(typedInput.UserAssignedIdentities)) + for key, value := range typedInput.UserAssignedIdentities { + identity.UserAssignedIdentities[key] = *value.DeepCopy() + } + } + + // No error + return nil +} + +// AssignProperties_From_MySQLServerIdentity_STATUS populates our MySQLServerIdentity_STATUS from the provided source MySQLServerIdentity_STATUS +func (identity *MySQLServerIdentity_STATUS) AssignProperties_From_MySQLServerIdentity_STATUS(source *v20230630s.MySQLServerIdentity_STATUS) error { + + // PrincipalId + identity.PrincipalId = genruntime.ClonePointerToString(source.PrincipalId) + + // TenantId + identity.TenantId = genruntime.ClonePointerToString(source.TenantId) + + // Type + if source.Type != nil { + typeVar := *source.Type + typeTemp := genruntime.ToEnum(typeVar, mySQLServerIdentity_Type_STATUS_Values) + identity.Type = &typeTemp + } else { + identity.Type = nil + } + + // UserAssignedIdentities + if source.UserAssignedIdentities != nil { + userAssignedIdentityMap := make(map[string]v1.JSON, len(source.UserAssignedIdentities)) + for userAssignedIdentityKey, userAssignedIdentityValue := range source.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityValue := userAssignedIdentityValue + userAssignedIdentityMap[userAssignedIdentityKey] = *userAssignedIdentityValue.DeepCopy() + } + identity.UserAssignedIdentities = userAssignedIdentityMap + } else { + identity.UserAssignedIdentities = nil + } + + // No error + return nil +} + +// AssignProperties_To_MySQLServerIdentity_STATUS populates the provided destination MySQLServerIdentity_STATUS from our MySQLServerIdentity_STATUS +func (identity *MySQLServerIdentity_STATUS) AssignProperties_To_MySQLServerIdentity_STATUS(destination *v20230630s.MySQLServerIdentity_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // PrincipalId + destination.PrincipalId = genruntime.ClonePointerToString(identity.PrincipalId) + + // TenantId + destination.TenantId = genruntime.ClonePointerToString(identity.TenantId) + + // Type + if identity.Type != nil { + typeVar := string(*identity.Type) + destination.Type = &typeVar + } else { + destination.Type = nil + } + + // UserAssignedIdentities + if identity.UserAssignedIdentities != nil { + userAssignedIdentityMap := make(map[string]v1.JSON, len(identity.UserAssignedIdentities)) + for userAssignedIdentityKey, userAssignedIdentityValue := range identity.UserAssignedIdentities { + // Shadow the loop variable to avoid aliasing + userAssignedIdentityValue := userAssignedIdentityValue + userAssignedIdentityMap[userAssignedIdentityKey] = *userAssignedIdentityValue.DeepCopy() + } + destination.UserAssignedIdentities = userAssignedIdentityMap + } else { + destination.UserAssignedIdentities = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Billing information related properties of a server. +type MySQLServerSku struct { + // +kubebuilder:validation:Required + // Name: The name of the sku, e.g. Standard_D32s_v3. + Name *string `json:"name,omitempty"` + + // +kubebuilder:validation:Required + // Tier: The tier of the particular SKU, e.g. GeneralPurpose. + Tier *MySQLServerSku_Tier `json:"tier,omitempty"` +} + +var _ genruntime.ARMTransformer = &MySQLServerSku{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (serverSku *MySQLServerSku) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if serverSku == nil { + return nil, nil + } + result := &MySQLServerSku_ARM{} + + // Set property "Name": + if serverSku.Name != nil { + name := *serverSku.Name + result.Name = &name + } + + // Set property "Tier": + if serverSku.Tier != nil { + tier := *serverSku.Tier + result.Tier = &tier + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (serverSku *MySQLServerSku) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &MySQLServerSku_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (serverSku *MySQLServerSku) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(MySQLServerSku_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected MySQLServerSku_ARM, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + serverSku.Name = &name + } + + // Set property "Tier": + if typedInput.Tier != nil { + tier := *typedInput.Tier + serverSku.Tier = &tier + } + + // No error + return nil +} + +// AssignProperties_From_MySQLServerSku populates our MySQLServerSku from the provided source MySQLServerSku +func (serverSku *MySQLServerSku) AssignProperties_From_MySQLServerSku(source *v20230630s.MySQLServerSku) error { + + // Name + serverSku.Name = genruntime.ClonePointerToString(source.Name) + + // Tier + if source.Tier != nil { + tier := *source.Tier + tierTemp := genruntime.ToEnum(tier, mySQLServerSku_Tier_Values) + serverSku.Tier = &tierTemp + } else { + serverSku.Tier = nil + } + + // No error + return nil +} + +// AssignProperties_To_MySQLServerSku populates the provided destination MySQLServerSku from our MySQLServerSku +func (serverSku *MySQLServerSku) AssignProperties_To_MySQLServerSku(destination *v20230630s.MySQLServerSku) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(serverSku.Name) + + // Tier + if serverSku.Tier != nil { + tier := string(*serverSku.Tier) + destination.Tier = &tier + } else { + destination.Tier = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_MySQLServerSku_STATUS populates our MySQLServerSku from the provided source MySQLServerSku_STATUS +func (serverSku *MySQLServerSku) Initialize_From_MySQLServerSku_STATUS(source *MySQLServerSku_STATUS) error { + + // Name + serverSku.Name = genruntime.ClonePointerToString(source.Name) + + // Tier + if source.Tier != nil { + tier := MySQLServerSku_Tier(*source.Tier) + serverSku.Tier = &tier + } else { + serverSku.Tier = nil + } + + // No error + return nil +} + +// Billing information related properties of a server. +type MySQLServerSku_STATUS struct { + // Name: The name of the sku, e.g. Standard_D32s_v3. + Name *string `json:"name,omitempty"` + + // Tier: The tier of the particular SKU, e.g. GeneralPurpose. + Tier *MySQLServerSku_Tier_STATUS `json:"tier,omitempty"` +} + +var _ genruntime.FromARMConverter = &MySQLServerSku_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (serverSku *MySQLServerSku_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &MySQLServerSku_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (serverSku *MySQLServerSku_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(MySQLServerSku_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected MySQLServerSku_STATUS_ARM, got %T", armInput) + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + serverSku.Name = &name + } + + // Set property "Tier": + if typedInput.Tier != nil { + tier := *typedInput.Tier + serverSku.Tier = &tier + } + + // No error + return nil +} + +// AssignProperties_From_MySQLServerSku_STATUS populates our MySQLServerSku_STATUS from the provided source MySQLServerSku_STATUS +func (serverSku *MySQLServerSku_STATUS) AssignProperties_From_MySQLServerSku_STATUS(source *v20230630s.MySQLServerSku_STATUS) error { + + // Name + serverSku.Name = genruntime.ClonePointerToString(source.Name) + + // Tier + if source.Tier != nil { + tier := *source.Tier + tierTemp := genruntime.ToEnum(tier, mySQLServerSku_Tier_STATUS_Values) + serverSku.Tier = &tierTemp + } else { + serverSku.Tier = nil + } + + // No error + return nil +} + +// AssignProperties_To_MySQLServerSku_STATUS populates the provided destination MySQLServerSku_STATUS from our MySQLServerSku_STATUS +func (serverSku *MySQLServerSku_STATUS) AssignProperties_To_MySQLServerSku_STATUS(destination *v20230630s.MySQLServerSku_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Name + destination.Name = genruntime.ClonePointerToString(serverSku.Name) + + // Tier + if serverSku.Tier != nil { + tier := string(*serverSku.Tier) + destination.Tier = &tier + } else { + destination.Tier = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Network related properties of a server +type Network struct { + // DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server. + DelegatedSubnetResourceReference *genruntime.ResourceReference `armReference:"DelegatedSubnetResourceId" json:"delegatedSubnetResourceReference,omitempty"` + + // PrivateDnsZoneResourceReference: Private DNS zone resource id. + PrivateDnsZoneResourceReference *genruntime.ResourceReference `armReference:"PrivateDnsZoneResourceId" json:"privateDnsZoneResourceReference,omitempty"` + + // PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server + // has VNet integration. + PublicNetworkAccess *EnableStatusEnum `json:"publicNetworkAccess,omitempty"` +} + +var _ genruntime.ARMTransformer = &Network{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (network *Network) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if network == nil { + return nil, nil + } + result := &Network_ARM{} + + // Set property "DelegatedSubnetResourceId": + if network.DelegatedSubnetResourceReference != nil { + delegatedSubnetResourceReferenceARMID, err := resolved.ResolvedReferences.Lookup(*network.DelegatedSubnetResourceReference) + if err != nil { + return nil, err + } + delegatedSubnetResourceReference := delegatedSubnetResourceReferenceARMID + result.DelegatedSubnetResourceId = &delegatedSubnetResourceReference + } + + // Set property "PrivateDnsZoneResourceId": + if network.PrivateDnsZoneResourceReference != nil { + privateDnsZoneResourceReferenceARMID, err := resolved.ResolvedReferences.Lookup(*network.PrivateDnsZoneResourceReference) + if err != nil { + return nil, err + } + privateDnsZoneResourceReference := privateDnsZoneResourceReferenceARMID + result.PrivateDnsZoneResourceId = &privateDnsZoneResourceReference + } + + // Set property "PublicNetworkAccess": + if network.PublicNetworkAccess != nil { + publicNetworkAccess := *network.PublicNetworkAccess + result.PublicNetworkAccess = &publicNetworkAccess + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (network *Network) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &Network_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (network *Network) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(Network_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected Network_ARM, got %T", armInput) + } + + // no assignment for property "DelegatedSubnetResourceReference" + + // no assignment for property "PrivateDnsZoneResourceReference" + + // Set property "PublicNetworkAccess": + if typedInput.PublicNetworkAccess != nil { + publicNetworkAccess := *typedInput.PublicNetworkAccess + network.PublicNetworkAccess = &publicNetworkAccess + } + + // No error + return nil +} + +// AssignProperties_From_Network populates our Network from the provided source Network +func (network *Network) AssignProperties_From_Network(source *v20230630s.Network) error { + + // DelegatedSubnetResourceReference + if source.DelegatedSubnetResourceReference != nil { + delegatedSubnetResourceReference := source.DelegatedSubnetResourceReference.Copy() + network.DelegatedSubnetResourceReference = &delegatedSubnetResourceReference + } else { + network.DelegatedSubnetResourceReference = nil + } + + // PrivateDnsZoneResourceReference + if source.PrivateDnsZoneResourceReference != nil { + privateDnsZoneResourceReference := source.PrivateDnsZoneResourceReference.Copy() + network.PrivateDnsZoneResourceReference = &privateDnsZoneResourceReference + } else { + network.PrivateDnsZoneResourceReference = nil + } + + // PublicNetworkAccess + if source.PublicNetworkAccess != nil { + publicNetworkAccess := *source.PublicNetworkAccess + publicNetworkAccessTemp := genruntime.ToEnum(publicNetworkAccess, enableStatusEnum_Values) + network.PublicNetworkAccess = &publicNetworkAccessTemp + } else { + network.PublicNetworkAccess = nil + } + + // No error + return nil +} + +// AssignProperties_To_Network populates the provided destination Network from our Network +func (network *Network) AssignProperties_To_Network(destination *v20230630s.Network) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DelegatedSubnetResourceReference + if network.DelegatedSubnetResourceReference != nil { + delegatedSubnetResourceReference := network.DelegatedSubnetResourceReference.Copy() + destination.DelegatedSubnetResourceReference = &delegatedSubnetResourceReference + } else { + destination.DelegatedSubnetResourceReference = nil + } + + // PrivateDnsZoneResourceReference + if network.PrivateDnsZoneResourceReference != nil { + privateDnsZoneResourceReference := network.PrivateDnsZoneResourceReference.Copy() + destination.PrivateDnsZoneResourceReference = &privateDnsZoneResourceReference + } else { + destination.PrivateDnsZoneResourceReference = nil + } + + // PublicNetworkAccess + if network.PublicNetworkAccess != nil { + publicNetworkAccess := string(*network.PublicNetworkAccess) + destination.PublicNetworkAccess = &publicNetworkAccess + } else { + destination.PublicNetworkAccess = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Network_STATUS populates our Network from the provided source Network_STATUS +func (network *Network) Initialize_From_Network_STATUS(source *Network_STATUS) error { + + // DelegatedSubnetResourceReference + if source.DelegatedSubnetResourceId != nil { + delegatedSubnetResourceReference := genruntime.CreateResourceReferenceFromARMID(*source.DelegatedSubnetResourceId) + network.DelegatedSubnetResourceReference = &delegatedSubnetResourceReference + } else { + network.DelegatedSubnetResourceReference = nil + } + + // PrivateDnsZoneResourceReference + if source.PrivateDnsZoneResourceId != nil { + privateDnsZoneResourceReference := genruntime.CreateResourceReferenceFromARMID(*source.PrivateDnsZoneResourceId) + network.PrivateDnsZoneResourceReference = &privateDnsZoneResourceReference + } else { + network.PrivateDnsZoneResourceReference = nil + } + + // PublicNetworkAccess + if source.PublicNetworkAccess != nil { + publicNetworkAccess := EnableStatusEnum(*source.PublicNetworkAccess) + network.PublicNetworkAccess = &publicNetworkAccess + } else { + network.PublicNetworkAccess = nil + } + + // No error + return nil +} + +// Network related properties of a server +type Network_STATUS struct { + // DelegatedSubnetResourceId: Delegated subnet resource id used to setup vnet for a server. + DelegatedSubnetResourceId *string `json:"delegatedSubnetResourceId,omitempty"` + + // PrivateDnsZoneResourceId: Private DNS zone resource id. + PrivateDnsZoneResourceId *string `json:"privateDnsZoneResourceId,omitempty"` + + // PublicNetworkAccess: Whether or not public network access is allowed for this server. Value is 'Disabled' when server + // has VNet integration. + PublicNetworkAccess *EnableStatusEnum_STATUS `json:"publicNetworkAccess,omitempty"` +} + +var _ genruntime.FromARMConverter = &Network_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (network *Network_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &Network_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (network *Network_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(Network_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected Network_STATUS_ARM, got %T", armInput) + } + + // Set property "DelegatedSubnetResourceId": + if typedInput.DelegatedSubnetResourceId != nil { + delegatedSubnetResourceId := *typedInput.DelegatedSubnetResourceId + network.DelegatedSubnetResourceId = &delegatedSubnetResourceId + } + + // Set property "PrivateDnsZoneResourceId": + if typedInput.PrivateDnsZoneResourceId != nil { + privateDnsZoneResourceId := *typedInput.PrivateDnsZoneResourceId + network.PrivateDnsZoneResourceId = &privateDnsZoneResourceId + } + + // Set property "PublicNetworkAccess": + if typedInput.PublicNetworkAccess != nil { + publicNetworkAccess := *typedInput.PublicNetworkAccess + network.PublicNetworkAccess = &publicNetworkAccess + } + + // No error + return nil +} + +// AssignProperties_From_Network_STATUS populates our Network_STATUS from the provided source Network_STATUS +func (network *Network_STATUS) AssignProperties_From_Network_STATUS(source *v20230630s.Network_STATUS) error { + + // DelegatedSubnetResourceId + network.DelegatedSubnetResourceId = genruntime.ClonePointerToString(source.DelegatedSubnetResourceId) + + // PrivateDnsZoneResourceId + network.PrivateDnsZoneResourceId = genruntime.ClonePointerToString(source.PrivateDnsZoneResourceId) + + // PublicNetworkAccess + if source.PublicNetworkAccess != nil { + publicNetworkAccess := *source.PublicNetworkAccess + publicNetworkAccessTemp := genruntime.ToEnum(publicNetworkAccess, enableStatusEnum_STATUS_Values) + network.PublicNetworkAccess = &publicNetworkAccessTemp + } else { + network.PublicNetworkAccess = nil + } + + // No error + return nil +} + +// AssignProperties_To_Network_STATUS populates the provided destination Network_STATUS from our Network_STATUS +func (network *Network_STATUS) AssignProperties_To_Network_STATUS(destination *v20230630s.Network_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // DelegatedSubnetResourceId + destination.DelegatedSubnetResourceId = genruntime.ClonePointerToString(network.DelegatedSubnetResourceId) + + // PrivateDnsZoneResourceId + destination.PrivateDnsZoneResourceId = genruntime.ClonePointerToString(network.PrivateDnsZoneResourceId) + + // PublicNetworkAccess + if network.PublicNetworkAccess != nil { + publicNetworkAccess := string(*network.PublicNetworkAccess) + destination.PublicNetworkAccess = &publicNetworkAccess + } else { + destination.PublicNetworkAccess = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The private endpoint connection resource. +type PrivateEndpointConnection_STATUS struct { + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` +} + +var _ genruntime.FromARMConverter = &PrivateEndpointConnection_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (connection *PrivateEndpointConnection_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &PrivateEndpointConnection_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (connection *PrivateEndpointConnection_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(PrivateEndpointConnection_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected PrivateEndpointConnection_STATUS_ARM, got %T", armInput) + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + connection.Id = &id + } + + // No error + return nil +} + +// AssignProperties_From_PrivateEndpointConnection_STATUS populates our PrivateEndpointConnection_STATUS from the provided source PrivateEndpointConnection_STATUS +func (connection *PrivateEndpointConnection_STATUS) AssignProperties_From_PrivateEndpointConnection_STATUS(source *v20230630s.PrivateEndpointConnection_STATUS) error { + + // Id + connection.Id = genruntime.ClonePointerToString(source.Id) + + // No error + return nil +} + +// AssignProperties_To_PrivateEndpointConnection_STATUS populates the provided destination PrivateEndpointConnection_STATUS from our PrivateEndpointConnection_STATUS +func (connection *PrivateEndpointConnection_STATUS) AssignProperties_To_PrivateEndpointConnection_STATUS(destination *v20230630s.PrivateEndpointConnection_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Id + destination.Id = genruntime.ClonePointerToString(connection.Id) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// The replication role. +// +kubebuilder:validation:Enum={"None","Replica","Source"} +type ReplicationRole string + +const ( + ReplicationRole_None = ReplicationRole("None") + ReplicationRole_Replica = ReplicationRole("Replica") + ReplicationRole_Source = ReplicationRole("Source") +) + +// Mapping from string to ReplicationRole +var replicationRole_Values = map[string]ReplicationRole{ + "none": ReplicationRole_None, + "replica": ReplicationRole_Replica, + "source": ReplicationRole_Source, +} + +// The replication role. +type ReplicationRole_STATUS string + +const ( + ReplicationRole_STATUS_None = ReplicationRole_STATUS("None") + ReplicationRole_STATUS_Replica = ReplicationRole_STATUS("Replica") + ReplicationRole_STATUS_Source = ReplicationRole_STATUS("Source") +) + +// Mapping from string to ReplicationRole_STATUS +var replicationRole_STATUS_Values = map[string]ReplicationRole_STATUS{ + "none": ReplicationRole_STATUS_None, + "replica": ReplicationRole_STATUS_Replica, + "source": ReplicationRole_STATUS_Source, +} + +// +kubebuilder:validation:Enum={"Default","GeoRestore","PointInTimeRestore","Replica"} +type ServerProperties_CreateMode string + +const ( + ServerProperties_CreateMode_Default = ServerProperties_CreateMode("Default") + ServerProperties_CreateMode_GeoRestore = ServerProperties_CreateMode("GeoRestore") + ServerProperties_CreateMode_PointInTimeRestore = ServerProperties_CreateMode("PointInTimeRestore") + ServerProperties_CreateMode_Replica = ServerProperties_CreateMode("Replica") +) + +// Mapping from string to ServerProperties_CreateMode +var serverProperties_CreateMode_Values = map[string]ServerProperties_CreateMode{ + "default": ServerProperties_CreateMode_Default, + "georestore": ServerProperties_CreateMode_GeoRestore, + "pointintimerestore": ServerProperties_CreateMode_PointInTimeRestore, + "replica": ServerProperties_CreateMode_Replica, +} + +type ServerProperties_CreateMode_STATUS string + +const ( + ServerProperties_CreateMode_STATUS_Default = ServerProperties_CreateMode_STATUS("Default") + ServerProperties_CreateMode_STATUS_GeoRestore = ServerProperties_CreateMode_STATUS("GeoRestore") + ServerProperties_CreateMode_STATUS_PointInTimeRestore = ServerProperties_CreateMode_STATUS("PointInTimeRestore") + ServerProperties_CreateMode_STATUS_Replica = ServerProperties_CreateMode_STATUS("Replica") +) + +// Mapping from string to ServerProperties_CreateMode_STATUS +var serverProperties_CreateMode_STATUS_Values = map[string]ServerProperties_CreateMode_STATUS{ + "default": ServerProperties_CreateMode_STATUS_Default, + "georestore": ServerProperties_CreateMode_STATUS_GeoRestore, + "pointintimerestore": ServerProperties_CreateMode_STATUS_PointInTimeRestore, + "replica": ServerProperties_CreateMode_STATUS_Replica, +} + +type ServerProperties_State_STATUS string + +const ( + ServerProperties_State_STATUS_Disabled = ServerProperties_State_STATUS("Disabled") + ServerProperties_State_STATUS_Dropping = ServerProperties_State_STATUS("Dropping") + ServerProperties_State_STATUS_Ready = ServerProperties_State_STATUS("Ready") + ServerProperties_State_STATUS_Starting = ServerProperties_State_STATUS("Starting") + ServerProperties_State_STATUS_Stopped = ServerProperties_State_STATUS("Stopped") + ServerProperties_State_STATUS_Stopping = ServerProperties_State_STATUS("Stopping") + ServerProperties_State_STATUS_Updating = ServerProperties_State_STATUS("Updating") +) + +// Mapping from string to ServerProperties_State_STATUS +var serverProperties_State_STATUS_Values = map[string]ServerProperties_State_STATUS{ + "disabled": ServerProperties_State_STATUS_Disabled, + "dropping": ServerProperties_State_STATUS_Dropping, + "ready": ServerProperties_State_STATUS_Ready, + "starting": ServerProperties_State_STATUS_Starting, + "stopped": ServerProperties_State_STATUS_Stopped, + "stopping": ServerProperties_State_STATUS_Stopping, + "updating": ServerProperties_State_STATUS_Updating, +} + +// The version of a server. +// +kubebuilder:validation:Enum={"5.7","8.0.21"} +type ServerVersion string + +const ( + ServerVersion_57 = ServerVersion("5.7") + ServerVersion_8021 = ServerVersion("8.0.21") +) + +// Mapping from string to ServerVersion +var serverVersion_Values = map[string]ServerVersion{ + "5.7": ServerVersion_57, + "8.0.21": ServerVersion_8021, +} + +// The version of a server. +type ServerVersion_STATUS string + +const ( + ServerVersion_STATUS_57 = ServerVersion_STATUS("5.7") + ServerVersion_STATUS_8021 = ServerVersion_STATUS("8.0.21") +) + +// Mapping from string to ServerVersion_STATUS +var serverVersion_STATUS_Values = map[string]ServerVersion_STATUS{ + "5.7": ServerVersion_STATUS_57, + "8.0.21": ServerVersion_STATUS_8021, +} + +// Storage Profile properties of a server +type Storage struct { + // AutoGrow: Enable Storage Auto Grow or not. + AutoGrow *EnableStatusEnum `json:"autoGrow,omitempty"` + + // AutoIoScaling: Enable IO Auto Scaling or not. + AutoIoScaling *EnableStatusEnum `json:"autoIoScaling,omitempty"` + + // Iops: Storage IOPS for a server. + Iops *int `json:"iops,omitempty"` + + // LogOnDisk: Enable Log On Disk or not. + LogOnDisk *EnableStatusEnum `json:"logOnDisk,omitempty"` + + // StorageSizeGB: Max storage size allowed for a server. + StorageSizeGB *int `json:"storageSizeGB,omitempty"` +} + +var _ genruntime.ARMTransformer = &Storage{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (storage *Storage) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if storage == nil { + return nil, nil + } + result := &Storage_ARM{} + + // Set property "AutoGrow": + if storage.AutoGrow != nil { + autoGrow := *storage.AutoGrow + result.AutoGrow = &autoGrow + } + + // Set property "AutoIoScaling": + if storage.AutoIoScaling != nil { + autoIoScaling := *storage.AutoIoScaling + result.AutoIoScaling = &autoIoScaling + } + + // Set property "Iops": + if storage.Iops != nil { + iops := *storage.Iops + result.Iops = &iops + } + + // Set property "LogOnDisk": + if storage.LogOnDisk != nil { + logOnDisk := *storage.LogOnDisk + result.LogOnDisk = &logOnDisk + } + + // Set property "StorageSizeGB": + if storage.StorageSizeGB != nil { + storageSizeGB := *storage.StorageSizeGB + result.StorageSizeGB = &storageSizeGB + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (storage *Storage) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &Storage_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (storage *Storage) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(Storage_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected Storage_ARM, got %T", armInput) + } + + // Set property "AutoGrow": + if typedInput.AutoGrow != nil { + autoGrow := *typedInput.AutoGrow + storage.AutoGrow = &autoGrow + } + + // Set property "AutoIoScaling": + if typedInput.AutoIoScaling != nil { + autoIoScaling := *typedInput.AutoIoScaling + storage.AutoIoScaling = &autoIoScaling + } + + // Set property "Iops": + if typedInput.Iops != nil { + iops := *typedInput.Iops + storage.Iops = &iops + } + + // Set property "LogOnDisk": + if typedInput.LogOnDisk != nil { + logOnDisk := *typedInput.LogOnDisk + storage.LogOnDisk = &logOnDisk + } + + // Set property "StorageSizeGB": + if typedInput.StorageSizeGB != nil { + storageSizeGB := *typedInput.StorageSizeGB + storage.StorageSizeGB = &storageSizeGB + } + + // No error + return nil +} + +// AssignProperties_From_Storage populates our Storage from the provided source Storage +func (storage *Storage) AssignProperties_From_Storage(source *v20230630s.Storage) error { + + // AutoGrow + if source.AutoGrow != nil { + autoGrow := *source.AutoGrow + autoGrowTemp := genruntime.ToEnum(autoGrow, enableStatusEnum_Values) + storage.AutoGrow = &autoGrowTemp + } else { + storage.AutoGrow = nil + } + + // AutoIoScaling + if source.AutoIoScaling != nil { + autoIoScaling := *source.AutoIoScaling + autoIoScalingTemp := genruntime.ToEnum(autoIoScaling, enableStatusEnum_Values) + storage.AutoIoScaling = &autoIoScalingTemp + } else { + storage.AutoIoScaling = nil + } + + // Iops + storage.Iops = genruntime.ClonePointerToInt(source.Iops) + + // LogOnDisk + if source.LogOnDisk != nil { + logOnDisk := *source.LogOnDisk + logOnDiskTemp := genruntime.ToEnum(logOnDisk, enableStatusEnum_Values) + storage.LogOnDisk = &logOnDiskTemp + } else { + storage.LogOnDisk = nil + } + + // StorageSizeGB + storage.StorageSizeGB = genruntime.ClonePointerToInt(source.StorageSizeGB) + + // No error + return nil +} + +// AssignProperties_To_Storage populates the provided destination Storage from our Storage +func (storage *Storage) AssignProperties_To_Storage(destination *v20230630s.Storage) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AutoGrow + if storage.AutoGrow != nil { + autoGrow := string(*storage.AutoGrow) + destination.AutoGrow = &autoGrow + } else { + destination.AutoGrow = nil + } + + // AutoIoScaling + if storage.AutoIoScaling != nil { + autoIoScaling := string(*storage.AutoIoScaling) + destination.AutoIoScaling = &autoIoScaling + } else { + destination.AutoIoScaling = nil + } + + // Iops + destination.Iops = genruntime.ClonePointerToInt(storage.Iops) + + // LogOnDisk + if storage.LogOnDisk != nil { + logOnDisk := string(*storage.LogOnDisk) + destination.LogOnDisk = &logOnDisk + } else { + destination.LogOnDisk = nil + } + + // StorageSizeGB + destination.StorageSizeGB = genruntime.ClonePointerToInt(storage.StorageSizeGB) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_Storage_STATUS populates our Storage from the provided source Storage_STATUS +func (storage *Storage) Initialize_From_Storage_STATUS(source *Storage_STATUS) error { + + // AutoGrow + if source.AutoGrow != nil { + autoGrow := EnableStatusEnum(*source.AutoGrow) + storage.AutoGrow = &autoGrow + } else { + storage.AutoGrow = nil + } + + // AutoIoScaling + if source.AutoIoScaling != nil { + autoIoScaling := EnableStatusEnum(*source.AutoIoScaling) + storage.AutoIoScaling = &autoIoScaling + } else { + storage.AutoIoScaling = nil + } + + // Iops + storage.Iops = genruntime.ClonePointerToInt(source.Iops) + + // LogOnDisk + if source.LogOnDisk != nil { + logOnDisk := EnableStatusEnum(*source.LogOnDisk) + storage.LogOnDisk = &logOnDisk + } else { + storage.LogOnDisk = nil + } + + // StorageSizeGB + storage.StorageSizeGB = genruntime.ClonePointerToInt(source.StorageSizeGB) + + // No error + return nil +} + +// Storage Profile properties of a server +type Storage_STATUS struct { + // AutoGrow: Enable Storage Auto Grow or not. + AutoGrow *EnableStatusEnum_STATUS `json:"autoGrow,omitempty"` + + // AutoIoScaling: Enable IO Auto Scaling or not. + AutoIoScaling *EnableStatusEnum_STATUS `json:"autoIoScaling,omitempty"` + + // Iops: Storage IOPS for a server. + Iops *int `json:"iops,omitempty"` + + // LogOnDisk: Enable Log On Disk or not. + LogOnDisk *EnableStatusEnum_STATUS `json:"logOnDisk,omitempty"` + + // StorageSizeGB: Max storage size allowed for a server. + StorageSizeGB *int `json:"storageSizeGB,omitempty"` + + // StorageSku: The sku name of the server storage. + StorageSku *string `json:"storageSku,omitempty"` +} + +var _ genruntime.FromARMConverter = &Storage_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (storage *Storage_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &Storage_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (storage *Storage_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(Storage_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected Storage_STATUS_ARM, got %T", armInput) + } + + // Set property "AutoGrow": + if typedInput.AutoGrow != nil { + autoGrow := *typedInput.AutoGrow + storage.AutoGrow = &autoGrow + } + + // Set property "AutoIoScaling": + if typedInput.AutoIoScaling != nil { + autoIoScaling := *typedInput.AutoIoScaling + storage.AutoIoScaling = &autoIoScaling + } + + // Set property "Iops": + if typedInput.Iops != nil { + iops := *typedInput.Iops + storage.Iops = &iops + } + + // Set property "LogOnDisk": + if typedInput.LogOnDisk != nil { + logOnDisk := *typedInput.LogOnDisk + storage.LogOnDisk = &logOnDisk + } + + // Set property "StorageSizeGB": + if typedInput.StorageSizeGB != nil { + storageSizeGB := *typedInput.StorageSizeGB + storage.StorageSizeGB = &storageSizeGB + } + + // Set property "StorageSku": + if typedInput.StorageSku != nil { + storageSku := *typedInput.StorageSku + storage.StorageSku = &storageSku + } + + // No error + return nil +} + +// AssignProperties_From_Storage_STATUS populates our Storage_STATUS from the provided source Storage_STATUS +func (storage *Storage_STATUS) AssignProperties_From_Storage_STATUS(source *v20230630s.Storage_STATUS) error { + + // AutoGrow + if source.AutoGrow != nil { + autoGrow := *source.AutoGrow + autoGrowTemp := genruntime.ToEnum(autoGrow, enableStatusEnum_STATUS_Values) + storage.AutoGrow = &autoGrowTemp + } else { + storage.AutoGrow = nil + } + + // AutoIoScaling + if source.AutoIoScaling != nil { + autoIoScaling := *source.AutoIoScaling + autoIoScalingTemp := genruntime.ToEnum(autoIoScaling, enableStatusEnum_STATUS_Values) + storage.AutoIoScaling = &autoIoScalingTemp + } else { + storage.AutoIoScaling = nil + } + + // Iops + storage.Iops = genruntime.ClonePointerToInt(source.Iops) + + // LogOnDisk + if source.LogOnDisk != nil { + logOnDisk := *source.LogOnDisk + logOnDiskTemp := genruntime.ToEnum(logOnDisk, enableStatusEnum_STATUS_Values) + storage.LogOnDisk = &logOnDiskTemp + } else { + storage.LogOnDisk = nil + } + + // StorageSizeGB + storage.StorageSizeGB = genruntime.ClonePointerToInt(source.StorageSizeGB) + + // StorageSku + storage.StorageSku = genruntime.ClonePointerToString(source.StorageSku) + + // No error + return nil +} + +// AssignProperties_To_Storage_STATUS populates the provided destination Storage_STATUS from our Storage_STATUS +func (storage *Storage_STATUS) AssignProperties_To_Storage_STATUS(destination *v20230630s.Storage_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AutoGrow + if storage.AutoGrow != nil { + autoGrow := string(*storage.AutoGrow) + destination.AutoGrow = &autoGrow + } else { + destination.AutoGrow = nil + } + + // AutoIoScaling + if storage.AutoIoScaling != nil { + autoIoScaling := string(*storage.AutoIoScaling) + destination.AutoIoScaling = &autoIoScaling + } else { + destination.AutoIoScaling = nil + } + + // Iops + destination.Iops = genruntime.ClonePointerToInt(storage.Iops) + + // LogOnDisk + if storage.LogOnDisk != nil { + logOnDisk := string(*storage.LogOnDisk) + destination.LogOnDisk = &logOnDisk + } else { + destination.LogOnDisk = nil + } + + // StorageSizeGB + destination.StorageSizeGB = genruntime.ClonePointerToInt(storage.StorageSizeGB) + + // StorageSku + destination.StorageSku = genruntime.ClonePointerToString(storage.StorageSku) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Metadata pertaining to creation and last modification of the resource. +type SystemData_STATUS struct { + // CreatedAt: The timestamp of resource creation (UTC). + CreatedAt *string `json:"createdAt,omitempty"` + + // CreatedBy: The identity that created the resource. + CreatedBy *string `json:"createdBy,omitempty"` + + // CreatedByType: The type of identity that created the resource. + CreatedByType *SystemData_CreatedByType_STATUS `json:"createdByType,omitempty"` + + // LastModifiedAt: The timestamp of resource last modification (UTC) + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + + // LastModifiedBy: The identity that last modified the resource. + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + + // LastModifiedByType: The type of identity that last modified the resource. + LastModifiedByType *SystemData_LastModifiedByType_STATUS `json:"lastModifiedByType,omitempty"` +} + +var _ genruntime.FromARMConverter = &SystemData_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (data *SystemData_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &SystemData_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (data *SystemData_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(SystemData_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected SystemData_STATUS_ARM, got %T", armInput) + } + + // Set property "CreatedAt": + if typedInput.CreatedAt != nil { + createdAt := *typedInput.CreatedAt + data.CreatedAt = &createdAt + } + + // Set property "CreatedBy": + if typedInput.CreatedBy != nil { + createdBy := *typedInput.CreatedBy + data.CreatedBy = &createdBy + } + + // Set property "CreatedByType": + if typedInput.CreatedByType != nil { + createdByType := *typedInput.CreatedByType + data.CreatedByType = &createdByType + } + + // Set property "LastModifiedAt": + if typedInput.LastModifiedAt != nil { + lastModifiedAt := *typedInput.LastModifiedAt + data.LastModifiedAt = &lastModifiedAt + } + + // Set property "LastModifiedBy": + if typedInput.LastModifiedBy != nil { + lastModifiedBy := *typedInput.LastModifiedBy + data.LastModifiedBy = &lastModifiedBy + } + + // Set property "LastModifiedByType": + if typedInput.LastModifiedByType != nil { + lastModifiedByType := *typedInput.LastModifiedByType + data.LastModifiedByType = &lastModifiedByType + } + + // No error + return nil +} + +// AssignProperties_From_SystemData_STATUS populates our SystemData_STATUS from the provided source SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_From_SystemData_STATUS(source *v20230630s.SystemData_STATUS) error { + + // CreatedAt + data.CreatedAt = genruntime.ClonePointerToString(source.CreatedAt) + + // CreatedBy + data.CreatedBy = genruntime.ClonePointerToString(source.CreatedBy) + + // CreatedByType + if source.CreatedByType != nil { + createdByType := *source.CreatedByType + createdByTypeTemp := genruntime.ToEnum(createdByType, systemData_CreatedByType_STATUS_Values) + data.CreatedByType = &createdByTypeTemp + } else { + data.CreatedByType = nil + } + + // LastModifiedAt + data.LastModifiedAt = genruntime.ClonePointerToString(source.LastModifiedAt) + + // LastModifiedBy + data.LastModifiedBy = genruntime.ClonePointerToString(source.LastModifiedBy) + + // LastModifiedByType + if source.LastModifiedByType != nil { + lastModifiedByType := *source.LastModifiedByType + lastModifiedByTypeTemp := genruntime.ToEnum(lastModifiedByType, systemData_LastModifiedByType_STATUS_Values) + data.LastModifiedByType = &lastModifiedByTypeTemp + } else { + data.LastModifiedByType = nil + } + + // No error + return nil +} + +// AssignProperties_To_SystemData_STATUS populates the provided destination SystemData_STATUS from our SystemData_STATUS +func (data *SystemData_STATUS) AssignProperties_To_SystemData_STATUS(destination *v20230630s.SystemData_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // CreatedAt + destination.CreatedAt = genruntime.ClonePointerToString(data.CreatedAt) + + // CreatedBy + destination.CreatedBy = genruntime.ClonePointerToString(data.CreatedBy) + + // CreatedByType + if data.CreatedByType != nil { + createdByType := string(*data.CreatedByType) + destination.CreatedByType = &createdByType + } else { + destination.CreatedByType = nil + } + + // LastModifiedAt + destination.LastModifiedAt = genruntime.ClonePointerToString(data.LastModifiedAt) + + // LastModifiedBy + destination.LastModifiedBy = genruntime.ClonePointerToString(data.LastModifiedBy) + + // LastModifiedByType + if data.LastModifiedByType != nil { + lastModifiedByType := string(*data.LastModifiedByType) + destination.LastModifiedByType = &lastModifiedByType + } else { + destination.LastModifiedByType = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"AzureKeyVault","SystemManaged"} +type DataEncryption_Type string + +const ( + DataEncryption_Type_AzureKeyVault = DataEncryption_Type("AzureKeyVault") + DataEncryption_Type_SystemManaged = DataEncryption_Type("SystemManaged") +) + +// Mapping from string to DataEncryption_Type +var dataEncryption_Type_Values = map[string]DataEncryption_Type{ + "azurekeyvault": DataEncryption_Type_AzureKeyVault, + "systemmanaged": DataEncryption_Type_SystemManaged, +} + +type DataEncryption_Type_STATUS string + +const ( + DataEncryption_Type_STATUS_AzureKeyVault = DataEncryption_Type_STATUS("AzureKeyVault") + DataEncryption_Type_STATUS_SystemManaged = DataEncryption_Type_STATUS("SystemManaged") +) + +// Mapping from string to DataEncryption_Type_STATUS +var dataEncryption_Type_STATUS_Values = map[string]DataEncryption_Type_STATUS{ + "azurekeyvault": DataEncryption_Type_STATUS_AzureKeyVault, + "systemmanaged": DataEncryption_Type_STATUS_SystemManaged, +} + +// Enum to indicate whether value is 'Enabled' or 'Disabled' +// +kubebuilder:validation:Enum={"Disabled","Enabled"} +type EnableStatusEnum string + +const ( + EnableStatusEnum_Disabled = EnableStatusEnum("Disabled") + EnableStatusEnum_Enabled = EnableStatusEnum("Enabled") +) + +// Mapping from string to EnableStatusEnum +var enableStatusEnum_Values = map[string]EnableStatusEnum{ + "disabled": EnableStatusEnum_Disabled, + "enabled": EnableStatusEnum_Enabled, +} + +// Enum to indicate whether value is 'Enabled' or 'Disabled' +type EnableStatusEnum_STATUS string + +const ( + EnableStatusEnum_STATUS_Disabled = EnableStatusEnum_STATUS("Disabled") + EnableStatusEnum_STATUS_Enabled = EnableStatusEnum_STATUS("Enabled") +) + +// Mapping from string to EnableStatusEnum_STATUS +var enableStatusEnum_STATUS_Values = map[string]EnableStatusEnum_STATUS{ + "disabled": EnableStatusEnum_STATUS_Disabled, + "enabled": EnableStatusEnum_STATUS_Enabled, +} + +type FlexibleServerOperatorConfigMaps struct { + // AdministratorLogin: indicates where the AdministratorLogin config map should be placed. If omitted, no config map will + // be created. + AdministratorLogin *genruntime.ConfigMapDestination `json:"administratorLogin,omitempty"` + + // FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName config map should be placed. If omitted, no + // config map will be created. + FullyQualifiedDomainName *genruntime.ConfigMapDestination `json:"fullyQualifiedDomainName,omitempty"` +} + +// AssignProperties_From_FlexibleServerOperatorConfigMaps populates our FlexibleServerOperatorConfigMaps from the provided source FlexibleServerOperatorConfigMaps +func (maps *FlexibleServerOperatorConfigMaps) AssignProperties_From_FlexibleServerOperatorConfigMaps(source *v20230630s.FlexibleServerOperatorConfigMaps) error { + + // AdministratorLogin + if source.AdministratorLogin != nil { + administratorLogin := source.AdministratorLogin.Copy() + maps.AdministratorLogin = &administratorLogin + } else { + maps.AdministratorLogin = nil + } + + // FullyQualifiedDomainName + if source.FullyQualifiedDomainName != nil { + fullyQualifiedDomainName := source.FullyQualifiedDomainName.Copy() + maps.FullyQualifiedDomainName = &fullyQualifiedDomainName + } else { + maps.FullyQualifiedDomainName = nil + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServerOperatorConfigMaps populates the provided destination FlexibleServerOperatorConfigMaps from our FlexibleServerOperatorConfigMaps +func (maps *FlexibleServerOperatorConfigMaps) AssignProperties_To_FlexibleServerOperatorConfigMaps(destination *v20230630s.FlexibleServerOperatorConfigMaps) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdministratorLogin + if maps.AdministratorLogin != nil { + administratorLogin := maps.AdministratorLogin.Copy() + destination.AdministratorLogin = &administratorLogin + } else { + destination.AdministratorLogin = nil + } + + // FullyQualifiedDomainName + if maps.FullyQualifiedDomainName != nil { + fullyQualifiedDomainName := maps.FullyQualifiedDomainName.Copy() + destination.FullyQualifiedDomainName = &fullyQualifiedDomainName + } else { + destination.FullyQualifiedDomainName = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type FlexibleServerOperatorSecrets struct { + // FullyQualifiedDomainName: indicates where the FullyQualifiedDomainName secret should be placed. If omitted, the secret + // will not be retrieved from Azure. + FullyQualifiedDomainName *genruntime.SecretDestination `json:"fullyQualifiedDomainName,omitempty"` +} + +// AssignProperties_From_FlexibleServerOperatorSecrets populates our FlexibleServerOperatorSecrets from the provided source FlexibleServerOperatorSecrets +func (secrets *FlexibleServerOperatorSecrets) AssignProperties_From_FlexibleServerOperatorSecrets(source *v20230630s.FlexibleServerOperatorSecrets) error { + + // FullyQualifiedDomainName + if source.FullyQualifiedDomainName != nil { + fullyQualifiedDomainName := source.FullyQualifiedDomainName.Copy() + secrets.FullyQualifiedDomainName = &fullyQualifiedDomainName + } else { + secrets.FullyQualifiedDomainName = nil + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServerOperatorSecrets populates the provided destination FlexibleServerOperatorSecrets from our FlexibleServerOperatorSecrets +func (secrets *FlexibleServerOperatorSecrets) AssignProperties_To_FlexibleServerOperatorSecrets(destination *v20230630s.FlexibleServerOperatorSecrets) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // FullyQualifiedDomainName + if secrets.FullyQualifiedDomainName != nil { + fullyQualifiedDomainName := secrets.FullyQualifiedDomainName.Copy() + destination.FullyQualifiedDomainName = &fullyQualifiedDomainName + } else { + destination.FullyQualifiedDomainName = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"Disabled","SameZone","ZoneRedundant"} +type HighAvailability_Mode string + +const ( + HighAvailability_Mode_Disabled = HighAvailability_Mode("Disabled") + HighAvailability_Mode_SameZone = HighAvailability_Mode("SameZone") + HighAvailability_Mode_ZoneRedundant = HighAvailability_Mode("ZoneRedundant") +) + +// Mapping from string to HighAvailability_Mode +var highAvailability_Mode_Values = map[string]HighAvailability_Mode{ + "disabled": HighAvailability_Mode_Disabled, + "samezone": HighAvailability_Mode_SameZone, + "zoneredundant": HighAvailability_Mode_ZoneRedundant, +} + +type HighAvailability_Mode_STATUS string + +const ( + HighAvailability_Mode_STATUS_Disabled = HighAvailability_Mode_STATUS("Disabled") + HighAvailability_Mode_STATUS_SameZone = HighAvailability_Mode_STATUS("SameZone") + HighAvailability_Mode_STATUS_ZoneRedundant = HighAvailability_Mode_STATUS("ZoneRedundant") +) + +// Mapping from string to HighAvailability_Mode_STATUS +var highAvailability_Mode_STATUS_Values = map[string]HighAvailability_Mode_STATUS{ + "disabled": HighAvailability_Mode_STATUS_Disabled, + "samezone": HighAvailability_Mode_STATUS_SameZone, + "zoneredundant": HighAvailability_Mode_STATUS_ZoneRedundant, +} + +type HighAvailability_State_STATUS string + +const ( + HighAvailability_State_STATUS_CreatingStandby = HighAvailability_State_STATUS("CreatingStandby") + HighAvailability_State_STATUS_FailingOver = HighAvailability_State_STATUS("FailingOver") + HighAvailability_State_STATUS_Healthy = HighAvailability_State_STATUS("Healthy") + HighAvailability_State_STATUS_NotEnabled = HighAvailability_State_STATUS("NotEnabled") + HighAvailability_State_STATUS_RemovingStandby = HighAvailability_State_STATUS("RemovingStandby") +) + +// Mapping from string to HighAvailability_State_STATUS +var highAvailability_State_STATUS_Values = map[string]HighAvailability_State_STATUS{ + "creatingstandby": HighAvailability_State_STATUS_CreatingStandby, + "failingover": HighAvailability_State_STATUS_FailingOver, + "healthy": HighAvailability_State_STATUS_Healthy, + "notenabled": HighAvailability_State_STATUS_NotEnabled, + "removingstandby": HighAvailability_State_STATUS_RemovingStandby, +} + +// +kubebuilder:validation:Enum={"AzureBlob"} +type ImportSourceProperties_StorageType string + +const ImportSourceProperties_StorageType_AzureBlob = ImportSourceProperties_StorageType("AzureBlob") + +// Mapping from string to ImportSourceProperties_StorageType +var importSourceProperties_StorageType_Values = map[string]ImportSourceProperties_StorageType{ + "azureblob": ImportSourceProperties_StorageType_AzureBlob, +} + +type ImportSourceProperties_StorageType_STATUS string + +const ImportSourceProperties_StorageType_STATUS_AzureBlob = ImportSourceProperties_StorageType_STATUS("AzureBlob") + +// Mapping from string to ImportSourceProperties_StorageType_STATUS +var importSourceProperties_StorageType_STATUS_Values = map[string]ImportSourceProperties_StorageType_STATUS{ + "azureblob": ImportSourceProperties_StorageType_STATUS_AzureBlob, +} + +// Information about the user assigned identity for the resource +type UserAssignedIdentityDetails struct { + Reference genruntime.ResourceReference `armReference:"Reference" json:"reference,omitempty"` +} + +// AssignProperties_From_UserAssignedIdentityDetails populates our UserAssignedIdentityDetails from the provided source UserAssignedIdentityDetails +func (details *UserAssignedIdentityDetails) AssignProperties_From_UserAssignedIdentityDetails(source *v20230630s.UserAssignedIdentityDetails) error { + + // Reference + details.Reference = source.Reference.Copy() + + // No error + return nil +} + +// AssignProperties_To_UserAssignedIdentityDetails populates the provided destination UserAssignedIdentityDetails from our UserAssignedIdentityDetails +func (details *UserAssignedIdentityDetails) AssignProperties_To_UserAssignedIdentityDetails(destination *v20230630s.UserAssignedIdentityDetails) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Reference + destination.Reference = details.Reference.Copy() + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +func init() { + SchemeBuilder.Register(&FlexibleServer{}, &FlexibleServerList{}) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_server_types_gen_test.go b/v2/api/dbformysql/v1api20230630/flexible_server_types_gen_test.go new file mode 100644 index 00000000000..5c0d381b58d --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_server_types_gen_test.go @@ -0,0 +1,2968 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "encoding/json" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServer_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServer to hub returns original", + prop.ForAll(RunResourceConversionTestForFlexibleServer, FlexibleServerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForFlexibleServer tests if a specific instance of FlexibleServer round trips to the hub storage version and back losslessly +func RunResourceConversionTestForFlexibleServer(subject FlexibleServer) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub v20230630s.FlexibleServer + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual FlexibleServer + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServer_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServer to FlexibleServer via AssignProperties_To_FlexibleServer & AssignProperties_From_FlexibleServer returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServer, FlexibleServerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServer tests if a specific instance of FlexibleServer can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServer(subject FlexibleServer) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServer + err := copied.AssignProperties_To_FlexibleServer(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServer + err = actual.AssignProperties_From_FlexibleServer(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServer_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServer via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServer, FlexibleServerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServer runs a test to see if a specific instance of FlexibleServer round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServer(subject FlexibleServer) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServer + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServer instances for property testing - lazily instantiated by FlexibleServerGenerator() +var flexibleServerGenerator gopter.Gen + +// FlexibleServerGenerator returns a generator of FlexibleServer instances for property testing. +func FlexibleServerGenerator() gopter.Gen { + if flexibleServerGenerator != nil { + return flexibleServerGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForFlexibleServer(generators) + flexibleServerGenerator = gen.Struct(reflect.TypeOf(FlexibleServer{}), generators) + + return flexibleServerGenerator +} + +// AddRelatedPropertyGeneratorsForFlexibleServer is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServer(gens map[string]gopter.Gen) { + gens["Spec"] = FlexibleServer_SpecGenerator() + gens["Status"] = FlexibleServer_STATUSGenerator() +} + +func Test_FlexibleServer_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServer_Spec to FlexibleServer_Spec via AssignProperties_To_FlexibleServer_Spec & AssignProperties_From_FlexibleServer_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServer_Spec, FlexibleServer_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServer_Spec tests if a specific instance of FlexibleServer_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServer_Spec(subject FlexibleServer_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServer_Spec + err := copied.AssignProperties_To_FlexibleServer_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServer_Spec + err = actual.AssignProperties_From_FlexibleServer_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServer_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServer_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServer_Spec, FlexibleServer_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServer_Spec runs a test to see if a specific instance of FlexibleServer_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServer_Spec(subject FlexibleServer_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServer_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServer_Spec instances for property testing - lazily instantiated by +// FlexibleServer_SpecGenerator() +var flexibleServer_SpecGenerator gopter.Gen + +// FlexibleServer_SpecGenerator returns a generator of FlexibleServer_Spec instances for property testing. +// We first initialize flexibleServer_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServer_SpecGenerator() gopter.Gen { + if flexibleServer_SpecGenerator != nil { + return flexibleServer_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServer_Spec(generators) + flexibleServer_SpecGenerator = gen.Struct(reflect.TypeOf(FlexibleServer_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServer_Spec(generators) + AddRelatedPropertyGeneratorsForFlexibleServer_Spec(generators) + flexibleServer_SpecGenerator = gen.Struct(reflect.TypeOf(FlexibleServer_Spec{}), generators) + + return flexibleServer_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServer_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServer_Spec(gens map[string]gopter.Gen) { + gens["AdministratorLogin"] = gen.PtrOf(gen.AlphaString()) + gens["AvailabilityZone"] = gen.PtrOf(gen.AlphaString()) + gens["AzureName"] = gen.AlphaString() + gens["CreateMode"] = gen.PtrOf(gen.OneConstOf( + ServerProperties_CreateMode_Default, + ServerProperties_CreateMode_GeoRestore, + ServerProperties_CreateMode_PointInTimeRestore, + ServerProperties_CreateMode_Replica)) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["ReplicationRole"] = gen.PtrOf(gen.OneConstOf(ReplicationRole_None, ReplicationRole_Replica, ReplicationRole_Source)) + gens["RestorePointInTime"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf(gen.AlphaString(), gen.AlphaString()) + gens["Version"] = gen.PtrOf(gen.OneConstOf(ServerVersion_57, ServerVersion_8021)) +} + +// AddRelatedPropertyGeneratorsForFlexibleServer_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServer_Spec(gens map[string]gopter.Gen) { + gens["Backup"] = gen.PtrOf(BackupGenerator()) + gens["DataEncryption"] = gen.PtrOf(DataEncryptionGenerator()) + gens["HighAvailability"] = gen.PtrOf(HighAvailabilityGenerator()) + gens["Identity"] = gen.PtrOf(MySQLServerIdentityGenerator()) + gens["ImportSourceProperties"] = gen.PtrOf(ImportSourcePropertiesGenerator()) + gens["MaintenanceWindow"] = gen.PtrOf(MaintenanceWindowGenerator()) + gens["Network"] = gen.PtrOf(NetworkGenerator()) + gens["OperatorSpec"] = gen.PtrOf(FlexibleServerOperatorSpecGenerator()) + gens["Sku"] = gen.PtrOf(MySQLServerSkuGenerator()) + gens["Storage"] = gen.PtrOf(StorageGenerator()) +} + +func Test_FlexibleServer_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServer_STATUS to FlexibleServer_STATUS via AssignProperties_To_FlexibleServer_STATUS & AssignProperties_From_FlexibleServer_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServer_STATUS, FlexibleServer_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServer_STATUS tests if a specific instance of FlexibleServer_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServer_STATUS(subject FlexibleServer_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServer_STATUS + err := copied.AssignProperties_To_FlexibleServer_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServer_STATUS + err = actual.AssignProperties_From_FlexibleServer_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServer_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServer_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServer_STATUS, FlexibleServer_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServer_STATUS runs a test to see if a specific instance of FlexibleServer_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServer_STATUS(subject FlexibleServer_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServer_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServer_STATUS instances for property testing - lazily instantiated by +// FlexibleServer_STATUSGenerator() +var flexibleServer_STATUSGenerator gopter.Gen + +// FlexibleServer_STATUSGenerator returns a generator of FlexibleServer_STATUS instances for property testing. +// We first initialize flexibleServer_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServer_STATUSGenerator() gopter.Gen { + if flexibleServer_STATUSGenerator != nil { + return flexibleServer_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServer_STATUS(generators) + flexibleServer_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServer_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServer_STATUS(generators) + AddRelatedPropertyGeneratorsForFlexibleServer_STATUS(generators) + flexibleServer_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServer_STATUS{}), generators) + + return flexibleServer_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServer_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServer_STATUS(gens map[string]gopter.Gen) { + gens["AdministratorLogin"] = gen.PtrOf(gen.AlphaString()) + gens["AvailabilityZone"] = gen.PtrOf(gen.AlphaString()) + gens["CreateMode"] = gen.PtrOf(gen.OneConstOf( + ServerProperties_CreateMode_STATUS_Default, + ServerProperties_CreateMode_STATUS_GeoRestore, + ServerProperties_CreateMode_STATUS_PointInTimeRestore, + ServerProperties_CreateMode_STATUS_Replica)) + gens["FullyQualifiedDomainName"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["ReplicaCapacity"] = gen.PtrOf(gen.Int()) + gens["ReplicationRole"] = gen.PtrOf(gen.OneConstOf(ReplicationRole_STATUS_None, ReplicationRole_STATUS_Replica, ReplicationRole_STATUS_Source)) + gens["RestorePointInTime"] = gen.PtrOf(gen.AlphaString()) + gens["SourceServerResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["State"] = gen.PtrOf(gen.OneConstOf( + ServerProperties_State_STATUS_Disabled, + ServerProperties_State_STATUS_Dropping, + ServerProperties_State_STATUS_Ready, + ServerProperties_State_STATUS_Starting, + ServerProperties_State_STATUS_Stopped, + ServerProperties_State_STATUS_Stopping, + ServerProperties_State_STATUS_Updating)) + gens["Tags"] = gen.MapOf(gen.AlphaString(), gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["Version"] = gen.PtrOf(gen.OneConstOf(ServerVersion_STATUS_57, ServerVersion_STATUS_8021)) +} + +// AddRelatedPropertyGeneratorsForFlexibleServer_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServer_STATUS(gens map[string]gopter.Gen) { + gens["Backup"] = gen.PtrOf(Backup_STATUSGenerator()) + gens["DataEncryption"] = gen.PtrOf(DataEncryption_STATUSGenerator()) + gens["HighAvailability"] = gen.PtrOf(HighAvailability_STATUSGenerator()) + gens["Identity"] = gen.PtrOf(MySQLServerIdentity_STATUSGenerator()) + gens["ImportSourceProperties"] = gen.PtrOf(ImportSourceProperties_STATUSGenerator()) + gens["MaintenanceWindow"] = gen.PtrOf(MaintenanceWindow_STATUSGenerator()) + gens["Network"] = gen.PtrOf(Network_STATUSGenerator()) + gens["PrivateEndpointConnections"] = gen.SliceOf(PrivateEndpointConnection_STATUSGenerator()) + gens["Sku"] = gen.PtrOf(MySQLServerSku_STATUSGenerator()) + gens["Storage"] = gen.PtrOf(Storage_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_Backup_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Backup to Backup via AssignProperties_To_Backup & AssignProperties_From_Backup returns original", + prop.ForAll(RunPropertyAssignmentTestForBackup, BackupGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForBackup tests if a specific instance of Backup can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForBackup(subject Backup) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.Backup + err := copied.AssignProperties_To_Backup(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Backup + err = actual.AssignProperties_From_Backup(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_Backup_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Backup via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBackup, BackupGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBackup runs a test to see if a specific instance of Backup round trips to JSON and back losslessly +func RunJSONSerializationTestForBackup(subject Backup) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Backup + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Backup instances for property testing - lazily instantiated by BackupGenerator() +var backupGenerator gopter.Gen + +// BackupGenerator returns a generator of Backup instances for property testing. +func BackupGenerator() gopter.Gen { + if backupGenerator != nil { + return backupGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBackup(generators) + backupGenerator = gen.Struct(reflect.TypeOf(Backup{}), generators) + + return backupGenerator +} + +// AddIndependentPropertyGeneratorsForBackup is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBackup(gens map[string]gopter.Gen) { + gens["BackupRetentionDays"] = gen.PtrOf(gen.Int()) + gens["GeoRedundantBackup"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_Disabled, EnableStatusEnum_Enabled)) +} + +func Test_Backup_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Backup_STATUS to Backup_STATUS via AssignProperties_To_Backup_STATUS & AssignProperties_From_Backup_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForBackup_STATUS, Backup_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForBackup_STATUS tests if a specific instance of Backup_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForBackup_STATUS(subject Backup_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.Backup_STATUS + err := copied.AssignProperties_To_Backup_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Backup_STATUS + err = actual.AssignProperties_From_Backup_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_Backup_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Backup_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBackup_STATUS, Backup_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBackup_STATUS runs a test to see if a specific instance of Backup_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForBackup_STATUS(subject Backup_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Backup_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Backup_STATUS instances for property testing - lazily instantiated by Backup_STATUSGenerator() +var backup_STATUSGenerator gopter.Gen + +// Backup_STATUSGenerator returns a generator of Backup_STATUS instances for property testing. +func Backup_STATUSGenerator() gopter.Gen { + if backup_STATUSGenerator != nil { + return backup_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBackup_STATUS(generators) + backup_STATUSGenerator = gen.Struct(reflect.TypeOf(Backup_STATUS{}), generators) + + return backup_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForBackup_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBackup_STATUS(gens map[string]gopter.Gen) { + gens["BackupRetentionDays"] = gen.PtrOf(gen.Int()) + gens["EarliestRestoreDate"] = gen.PtrOf(gen.AlphaString()) + gens["GeoRedundantBackup"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_STATUS_Disabled, EnableStatusEnum_STATUS_Enabled)) +} + +func Test_DataEncryption_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DataEncryption to DataEncryption via AssignProperties_To_DataEncryption & AssignProperties_From_DataEncryption returns original", + prop.ForAll(RunPropertyAssignmentTestForDataEncryption, DataEncryptionGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDataEncryption tests if a specific instance of DataEncryption can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDataEncryption(subject DataEncryption) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.DataEncryption + err := copied.AssignProperties_To_DataEncryption(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DataEncryption + err = actual.AssignProperties_From_DataEncryption(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_DataEncryption_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DataEncryption via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDataEncryption, DataEncryptionGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDataEncryption runs a test to see if a specific instance of DataEncryption round trips to JSON and back losslessly +func RunJSONSerializationTestForDataEncryption(subject DataEncryption) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DataEncryption + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DataEncryption instances for property testing - lazily instantiated by DataEncryptionGenerator() +var dataEncryptionGenerator gopter.Gen + +// DataEncryptionGenerator returns a generator of DataEncryption instances for property testing. +func DataEncryptionGenerator() gopter.Gen { + if dataEncryptionGenerator != nil { + return dataEncryptionGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDataEncryption(generators) + dataEncryptionGenerator = gen.Struct(reflect.TypeOf(DataEncryption{}), generators) + + return dataEncryptionGenerator +} + +// AddIndependentPropertyGeneratorsForDataEncryption is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDataEncryption(gens map[string]gopter.Gen) { + gens["GeoBackupKeyURI"] = gen.PtrOf(gen.AlphaString()) + gens["PrimaryKeyURI"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(DataEncryption_Type_AzureKeyVault, DataEncryption_Type_SystemManaged)) +} + +func Test_DataEncryption_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from DataEncryption_STATUS to DataEncryption_STATUS via AssignProperties_To_DataEncryption_STATUS & AssignProperties_From_DataEncryption_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForDataEncryption_STATUS, DataEncryption_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForDataEncryption_STATUS tests if a specific instance of DataEncryption_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForDataEncryption_STATUS(subject DataEncryption_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.DataEncryption_STATUS + err := copied.AssignProperties_To_DataEncryption_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual DataEncryption_STATUS + err = actual.AssignProperties_From_DataEncryption_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_DataEncryption_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DataEncryption_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDataEncryption_STATUS, DataEncryption_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDataEncryption_STATUS runs a test to see if a specific instance of DataEncryption_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDataEncryption_STATUS(subject DataEncryption_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DataEncryption_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DataEncryption_STATUS instances for property testing - lazily instantiated by +// DataEncryption_STATUSGenerator() +var dataEncryption_STATUSGenerator gopter.Gen + +// DataEncryption_STATUSGenerator returns a generator of DataEncryption_STATUS instances for property testing. +func DataEncryption_STATUSGenerator() gopter.Gen { + if dataEncryption_STATUSGenerator != nil { + return dataEncryption_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDataEncryption_STATUS(generators) + dataEncryption_STATUSGenerator = gen.Struct(reflect.TypeOf(DataEncryption_STATUS{}), generators) + + return dataEncryption_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDataEncryption_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDataEncryption_STATUS(gens map[string]gopter.Gen) { + gens["GeoBackupKeyURI"] = gen.PtrOf(gen.AlphaString()) + gens["GeoBackupUserAssignedIdentityId"] = gen.PtrOf(gen.AlphaString()) + gens["PrimaryKeyURI"] = gen.PtrOf(gen.AlphaString()) + gens["PrimaryUserAssignedIdentityId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(DataEncryption_Type_STATUS_AzureKeyVault, DataEncryption_Type_STATUS_SystemManaged)) +} + +func Test_FlexibleServerOperatorSpec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServerOperatorSpec to FlexibleServerOperatorSpec via AssignProperties_To_FlexibleServerOperatorSpec & AssignProperties_From_FlexibleServerOperatorSpec returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServerOperatorSpec, FlexibleServerOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServerOperatorSpec tests if a specific instance of FlexibleServerOperatorSpec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServerOperatorSpec(subject FlexibleServerOperatorSpec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServerOperatorSpec + err := copied.AssignProperties_To_FlexibleServerOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServerOperatorSpec + err = actual.AssignProperties_From_FlexibleServerOperatorSpec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServerOperatorSpec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServerOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServerOperatorSpec, FlexibleServerOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServerOperatorSpec runs a test to see if a specific instance of FlexibleServerOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServerOperatorSpec(subject FlexibleServerOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServerOperatorSpec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServerOperatorSpec instances for property testing - lazily instantiated by +// FlexibleServerOperatorSpecGenerator() +var flexibleServerOperatorSpecGenerator gopter.Gen + +// FlexibleServerOperatorSpecGenerator returns a generator of FlexibleServerOperatorSpec instances for property testing. +func FlexibleServerOperatorSpecGenerator() gopter.Gen { + if flexibleServerOperatorSpecGenerator != nil { + return flexibleServerOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForFlexibleServerOperatorSpec(generators) + flexibleServerOperatorSpecGenerator = gen.Struct(reflect.TypeOf(FlexibleServerOperatorSpec{}), generators) + + return flexibleServerOperatorSpecGenerator +} + +// AddRelatedPropertyGeneratorsForFlexibleServerOperatorSpec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServerOperatorSpec(gens map[string]gopter.Gen) { + gens["ConfigMaps"] = gen.PtrOf(FlexibleServerOperatorConfigMapsGenerator()) + gens["Secrets"] = gen.PtrOf(FlexibleServerOperatorSecretsGenerator()) +} + +func Test_HighAvailability_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HighAvailability to HighAvailability via AssignProperties_To_HighAvailability & AssignProperties_From_HighAvailability returns original", + prop.ForAll(RunPropertyAssignmentTestForHighAvailability, HighAvailabilityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHighAvailability tests if a specific instance of HighAvailability can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHighAvailability(subject HighAvailability) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.HighAvailability + err := copied.AssignProperties_To_HighAvailability(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HighAvailability + err = actual.AssignProperties_From_HighAvailability(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HighAvailability_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HighAvailability via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHighAvailability, HighAvailabilityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHighAvailability runs a test to see if a specific instance of HighAvailability round trips to JSON and back losslessly +func RunJSONSerializationTestForHighAvailability(subject HighAvailability) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HighAvailability + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HighAvailability instances for property testing - lazily instantiated by HighAvailabilityGenerator() +var highAvailabilityGenerator gopter.Gen + +// HighAvailabilityGenerator returns a generator of HighAvailability instances for property testing. +func HighAvailabilityGenerator() gopter.Gen { + if highAvailabilityGenerator != nil { + return highAvailabilityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHighAvailability(generators) + highAvailabilityGenerator = gen.Struct(reflect.TypeOf(HighAvailability{}), generators) + + return highAvailabilityGenerator +} + +// AddIndependentPropertyGeneratorsForHighAvailability is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHighAvailability(gens map[string]gopter.Gen) { + gens["Mode"] = gen.PtrOf(gen.OneConstOf(HighAvailability_Mode_Disabled, HighAvailability_Mode_SameZone, HighAvailability_Mode_ZoneRedundant)) + gens["StandbyAvailabilityZone"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_HighAvailability_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from HighAvailability_STATUS to HighAvailability_STATUS via AssignProperties_To_HighAvailability_STATUS & AssignProperties_From_HighAvailability_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForHighAvailability_STATUS, HighAvailability_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForHighAvailability_STATUS tests if a specific instance of HighAvailability_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForHighAvailability_STATUS(subject HighAvailability_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.HighAvailability_STATUS + err := copied.AssignProperties_To_HighAvailability_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual HighAvailability_STATUS + err = actual.AssignProperties_From_HighAvailability_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_HighAvailability_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HighAvailability_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHighAvailability_STATUS, HighAvailability_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHighAvailability_STATUS runs a test to see if a specific instance of HighAvailability_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHighAvailability_STATUS(subject HighAvailability_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HighAvailability_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HighAvailability_STATUS instances for property testing - lazily instantiated by +// HighAvailability_STATUSGenerator() +var highAvailability_STATUSGenerator gopter.Gen + +// HighAvailability_STATUSGenerator returns a generator of HighAvailability_STATUS instances for property testing. +func HighAvailability_STATUSGenerator() gopter.Gen { + if highAvailability_STATUSGenerator != nil { + return highAvailability_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHighAvailability_STATUS(generators) + highAvailability_STATUSGenerator = gen.Struct(reflect.TypeOf(HighAvailability_STATUS{}), generators) + + return highAvailability_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHighAvailability_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHighAvailability_STATUS(gens map[string]gopter.Gen) { + gens["Mode"] = gen.PtrOf(gen.OneConstOf(HighAvailability_Mode_STATUS_Disabled, HighAvailability_Mode_STATUS_SameZone, HighAvailability_Mode_STATUS_ZoneRedundant)) + gens["StandbyAvailabilityZone"] = gen.PtrOf(gen.AlphaString()) + gens["State"] = gen.PtrOf(gen.OneConstOf( + HighAvailability_State_STATUS_CreatingStandby, + HighAvailability_State_STATUS_FailingOver, + HighAvailability_State_STATUS_Healthy, + HighAvailability_State_STATUS_NotEnabled, + HighAvailability_State_STATUS_RemovingStandby)) +} + +func Test_ImportSourceProperties_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ImportSourceProperties to ImportSourceProperties via AssignProperties_To_ImportSourceProperties & AssignProperties_From_ImportSourceProperties returns original", + prop.ForAll(RunPropertyAssignmentTestForImportSourceProperties, ImportSourcePropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForImportSourceProperties tests if a specific instance of ImportSourceProperties can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForImportSourceProperties(subject ImportSourceProperties) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.ImportSourceProperties + err := copied.AssignProperties_To_ImportSourceProperties(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ImportSourceProperties + err = actual.AssignProperties_From_ImportSourceProperties(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ImportSourceProperties_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ImportSourceProperties via JSON returns original", + prop.ForAll(RunJSONSerializationTestForImportSourceProperties, ImportSourcePropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForImportSourceProperties runs a test to see if a specific instance of ImportSourceProperties round trips to JSON and back losslessly +func RunJSONSerializationTestForImportSourceProperties(subject ImportSourceProperties) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ImportSourceProperties + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ImportSourceProperties instances for property testing - lazily instantiated by +// ImportSourcePropertiesGenerator() +var importSourcePropertiesGenerator gopter.Gen + +// ImportSourcePropertiesGenerator returns a generator of ImportSourceProperties instances for property testing. +func ImportSourcePropertiesGenerator() gopter.Gen { + if importSourcePropertiesGenerator != nil { + return importSourcePropertiesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForImportSourceProperties(generators) + importSourcePropertiesGenerator = gen.Struct(reflect.TypeOf(ImportSourceProperties{}), generators) + + return importSourcePropertiesGenerator +} + +// AddIndependentPropertyGeneratorsForImportSourceProperties is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForImportSourceProperties(gens map[string]gopter.Gen) { + gens["DataDirPath"] = gen.PtrOf(gen.AlphaString()) + gens["StorageType"] = gen.PtrOf(gen.OneConstOf(ImportSourceProperties_StorageType_AzureBlob)) + gens["StorageUrl"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ImportSourceProperties_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from ImportSourceProperties_STATUS to ImportSourceProperties_STATUS via AssignProperties_To_ImportSourceProperties_STATUS & AssignProperties_From_ImportSourceProperties_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForImportSourceProperties_STATUS, ImportSourceProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForImportSourceProperties_STATUS tests if a specific instance of ImportSourceProperties_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForImportSourceProperties_STATUS(subject ImportSourceProperties_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.ImportSourceProperties_STATUS + err := copied.AssignProperties_To_ImportSourceProperties_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual ImportSourceProperties_STATUS + err = actual.AssignProperties_From_ImportSourceProperties_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_ImportSourceProperties_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ImportSourceProperties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForImportSourceProperties_STATUS, ImportSourceProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForImportSourceProperties_STATUS runs a test to see if a specific instance of ImportSourceProperties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForImportSourceProperties_STATUS(subject ImportSourceProperties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ImportSourceProperties_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ImportSourceProperties_STATUS instances for property testing - lazily instantiated by +// ImportSourceProperties_STATUSGenerator() +var importSourceProperties_STATUSGenerator gopter.Gen + +// ImportSourceProperties_STATUSGenerator returns a generator of ImportSourceProperties_STATUS instances for property testing. +func ImportSourceProperties_STATUSGenerator() gopter.Gen { + if importSourceProperties_STATUSGenerator != nil { + return importSourceProperties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForImportSourceProperties_STATUS(generators) + importSourceProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(ImportSourceProperties_STATUS{}), generators) + + return importSourceProperties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForImportSourceProperties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForImportSourceProperties_STATUS(gens map[string]gopter.Gen) { + gens["DataDirPath"] = gen.PtrOf(gen.AlphaString()) + gens["StorageType"] = gen.PtrOf(gen.OneConstOf(ImportSourceProperties_StorageType_STATUS_AzureBlob)) + gens["StorageUrl"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_MaintenanceWindow_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from MaintenanceWindow to MaintenanceWindow via AssignProperties_To_MaintenanceWindow & AssignProperties_From_MaintenanceWindow returns original", + prop.ForAll(RunPropertyAssignmentTestForMaintenanceWindow, MaintenanceWindowGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMaintenanceWindow tests if a specific instance of MaintenanceWindow can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMaintenanceWindow(subject MaintenanceWindow) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.MaintenanceWindow + err := copied.AssignProperties_To_MaintenanceWindow(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual MaintenanceWindow + err = actual.AssignProperties_From_MaintenanceWindow(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_MaintenanceWindow_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceWindow via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceWindow, MaintenanceWindowGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceWindow runs a test to see if a specific instance of MaintenanceWindow round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceWindow(subject MaintenanceWindow) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceWindow + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceWindow instances for property testing - lazily instantiated by MaintenanceWindowGenerator() +var maintenanceWindowGenerator gopter.Gen + +// MaintenanceWindowGenerator returns a generator of MaintenanceWindow instances for property testing. +func MaintenanceWindowGenerator() gopter.Gen { + if maintenanceWindowGenerator != nil { + return maintenanceWindowGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow(generators) + maintenanceWindowGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow{}), generators) + + return maintenanceWindowGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceWindow is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceWindow(gens map[string]gopter.Gen) { + gens["CustomWindow"] = gen.PtrOf(gen.AlphaString()) + gens["DayOfWeek"] = gen.PtrOf(gen.Int()) + gens["StartHour"] = gen.PtrOf(gen.Int()) + gens["StartMinute"] = gen.PtrOf(gen.Int()) +} + +func Test_MaintenanceWindow_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from MaintenanceWindow_STATUS to MaintenanceWindow_STATUS via AssignProperties_To_MaintenanceWindow_STATUS & AssignProperties_From_MaintenanceWindow_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForMaintenanceWindow_STATUS, MaintenanceWindow_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMaintenanceWindow_STATUS tests if a specific instance of MaintenanceWindow_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMaintenanceWindow_STATUS(subject MaintenanceWindow_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.MaintenanceWindow_STATUS + err := copied.AssignProperties_To_MaintenanceWindow_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual MaintenanceWindow_STATUS + err = actual.AssignProperties_From_MaintenanceWindow_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_MaintenanceWindow_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceWindow_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceWindow_STATUS, MaintenanceWindow_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceWindow_STATUS runs a test to see if a specific instance of MaintenanceWindow_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceWindow_STATUS(subject MaintenanceWindow_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceWindow_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceWindow_STATUS instances for property testing - lazily instantiated by +// MaintenanceWindow_STATUSGenerator() +var maintenanceWindow_STATUSGenerator gopter.Gen + +// MaintenanceWindow_STATUSGenerator returns a generator of MaintenanceWindow_STATUS instances for property testing. +func MaintenanceWindow_STATUSGenerator() gopter.Gen { + if maintenanceWindow_STATUSGenerator != nil { + return maintenanceWindow_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS(generators) + maintenanceWindow_STATUSGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow_STATUS{}), generators) + + return maintenanceWindow_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS(gens map[string]gopter.Gen) { + gens["CustomWindow"] = gen.PtrOf(gen.AlphaString()) + gens["DayOfWeek"] = gen.PtrOf(gen.Int()) + gens["StartHour"] = gen.PtrOf(gen.Int()) + gens["StartMinute"] = gen.PtrOf(gen.Int()) +} + +func Test_MySQLServerIdentity_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from MySQLServerIdentity to MySQLServerIdentity via AssignProperties_To_MySQLServerIdentity & AssignProperties_From_MySQLServerIdentity returns original", + prop.ForAll(RunPropertyAssignmentTestForMySQLServerIdentity, MySQLServerIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMySQLServerIdentity tests if a specific instance of MySQLServerIdentity can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMySQLServerIdentity(subject MySQLServerIdentity) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.MySQLServerIdentity + err := copied.AssignProperties_To_MySQLServerIdentity(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual MySQLServerIdentity + err = actual.AssignProperties_From_MySQLServerIdentity(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_MySQLServerIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MySQLServerIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMySQLServerIdentity, MySQLServerIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMySQLServerIdentity runs a test to see if a specific instance of MySQLServerIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForMySQLServerIdentity(subject MySQLServerIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MySQLServerIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MySQLServerIdentity instances for property testing - lazily instantiated by +// MySQLServerIdentityGenerator() +var mySQLServerIdentityGenerator gopter.Gen + +// MySQLServerIdentityGenerator returns a generator of MySQLServerIdentity instances for property testing. +// We first initialize mySQLServerIdentityGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MySQLServerIdentityGenerator() gopter.Gen { + if mySQLServerIdentityGenerator != nil { + return mySQLServerIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMySQLServerIdentity(generators) + mySQLServerIdentityGenerator = gen.Struct(reflect.TypeOf(MySQLServerIdentity{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMySQLServerIdentity(generators) + AddRelatedPropertyGeneratorsForMySQLServerIdentity(generators) + mySQLServerIdentityGenerator = gen.Struct(reflect.TypeOf(MySQLServerIdentity{}), generators) + + return mySQLServerIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForMySQLServerIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMySQLServerIdentity(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.OneConstOf(MySQLServerIdentity_Type_UserAssigned)) +} + +// AddRelatedPropertyGeneratorsForMySQLServerIdentity is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMySQLServerIdentity(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.SliceOf(UserAssignedIdentityDetailsGenerator()) +} + +func Test_MySQLServerIdentity_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from MySQLServerIdentity_STATUS to MySQLServerIdentity_STATUS via AssignProperties_To_MySQLServerIdentity_STATUS & AssignProperties_From_MySQLServerIdentity_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForMySQLServerIdentity_STATUS, MySQLServerIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMySQLServerIdentity_STATUS tests if a specific instance of MySQLServerIdentity_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMySQLServerIdentity_STATUS(subject MySQLServerIdentity_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.MySQLServerIdentity_STATUS + err := copied.AssignProperties_To_MySQLServerIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual MySQLServerIdentity_STATUS + err = actual.AssignProperties_From_MySQLServerIdentity_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_MySQLServerIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MySQLServerIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMySQLServerIdentity_STATUS, MySQLServerIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMySQLServerIdentity_STATUS runs a test to see if a specific instance of MySQLServerIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMySQLServerIdentity_STATUS(subject MySQLServerIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MySQLServerIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MySQLServerIdentity_STATUS instances for property testing - lazily instantiated by +// MySQLServerIdentity_STATUSGenerator() +var mySQLServerIdentity_STATUSGenerator gopter.Gen + +// MySQLServerIdentity_STATUSGenerator returns a generator of MySQLServerIdentity_STATUS instances for property testing. +func MySQLServerIdentity_STATUSGenerator() gopter.Gen { + if mySQLServerIdentity_STATUSGenerator != nil { + return mySQLServerIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMySQLServerIdentity_STATUS(generators) + mySQLServerIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(MySQLServerIdentity_STATUS{}), generators) + + return mySQLServerIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMySQLServerIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMySQLServerIdentity_STATUS(gens map[string]gopter.Gen) { + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.OneConstOf(MySQLServerIdentity_Type_STATUS_UserAssigned)) +} + +func Test_MySQLServerSku_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from MySQLServerSku to MySQLServerSku via AssignProperties_To_MySQLServerSku & AssignProperties_From_MySQLServerSku returns original", + prop.ForAll(RunPropertyAssignmentTestForMySQLServerSku, MySQLServerSkuGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMySQLServerSku tests if a specific instance of MySQLServerSku can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMySQLServerSku(subject MySQLServerSku) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.MySQLServerSku + err := copied.AssignProperties_To_MySQLServerSku(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual MySQLServerSku + err = actual.AssignProperties_From_MySQLServerSku(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_MySQLServerSku_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MySQLServerSku via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMySQLServerSku, MySQLServerSkuGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMySQLServerSku runs a test to see if a specific instance of MySQLServerSku round trips to JSON and back losslessly +func RunJSONSerializationTestForMySQLServerSku(subject MySQLServerSku) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MySQLServerSku + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MySQLServerSku instances for property testing - lazily instantiated by MySQLServerSkuGenerator() +var mySQLServerSkuGenerator gopter.Gen + +// MySQLServerSkuGenerator returns a generator of MySQLServerSku instances for property testing. +func MySQLServerSkuGenerator() gopter.Gen { + if mySQLServerSkuGenerator != nil { + return mySQLServerSkuGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMySQLServerSku(generators) + mySQLServerSkuGenerator = gen.Struct(reflect.TypeOf(MySQLServerSku{}), generators) + + return mySQLServerSkuGenerator +} + +// AddIndependentPropertyGeneratorsForMySQLServerSku is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMySQLServerSku(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tier"] = gen.PtrOf(gen.OneConstOf(MySQLServerSku_Tier_Burstable, MySQLServerSku_Tier_GeneralPurpose, MySQLServerSku_Tier_MemoryOptimized)) +} + +func Test_MySQLServerSku_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from MySQLServerSku_STATUS to MySQLServerSku_STATUS via AssignProperties_To_MySQLServerSku_STATUS & AssignProperties_From_MySQLServerSku_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForMySQLServerSku_STATUS, MySQLServerSku_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForMySQLServerSku_STATUS tests if a specific instance of MySQLServerSku_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForMySQLServerSku_STATUS(subject MySQLServerSku_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.MySQLServerSku_STATUS + err := copied.AssignProperties_To_MySQLServerSku_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual MySQLServerSku_STATUS + err = actual.AssignProperties_From_MySQLServerSku_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_MySQLServerSku_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MySQLServerSku_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMySQLServerSku_STATUS, MySQLServerSku_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMySQLServerSku_STATUS runs a test to see if a specific instance of MySQLServerSku_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMySQLServerSku_STATUS(subject MySQLServerSku_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MySQLServerSku_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MySQLServerSku_STATUS instances for property testing - lazily instantiated by +// MySQLServerSku_STATUSGenerator() +var mySQLServerSku_STATUSGenerator gopter.Gen + +// MySQLServerSku_STATUSGenerator returns a generator of MySQLServerSku_STATUS instances for property testing. +func MySQLServerSku_STATUSGenerator() gopter.Gen { + if mySQLServerSku_STATUSGenerator != nil { + return mySQLServerSku_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMySQLServerSku_STATUS(generators) + mySQLServerSku_STATUSGenerator = gen.Struct(reflect.TypeOf(MySQLServerSku_STATUS{}), generators) + + return mySQLServerSku_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMySQLServerSku_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMySQLServerSku_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tier"] = gen.PtrOf(gen.OneConstOf(MySQLServerSku_Tier_STATUS_Burstable, MySQLServerSku_Tier_STATUS_GeneralPurpose, MySQLServerSku_Tier_STATUS_MemoryOptimized)) +} + +func Test_Network_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Network to Network via AssignProperties_To_Network & AssignProperties_From_Network returns original", + prop.ForAll(RunPropertyAssignmentTestForNetwork, NetworkGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNetwork tests if a specific instance of Network can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNetwork(subject Network) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.Network + err := copied.AssignProperties_To_Network(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Network + err = actual.AssignProperties_From_Network(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_Network_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Network via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNetwork, NetworkGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNetwork runs a test to see if a specific instance of Network round trips to JSON and back losslessly +func RunJSONSerializationTestForNetwork(subject Network) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Network + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Network instances for property testing - lazily instantiated by NetworkGenerator() +var networkGenerator gopter.Gen + +// NetworkGenerator returns a generator of Network instances for property testing. +func NetworkGenerator() gopter.Gen { + if networkGenerator != nil { + return networkGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNetwork(generators) + networkGenerator = gen.Struct(reflect.TypeOf(Network{}), generators) + + return networkGenerator +} + +// AddIndependentPropertyGeneratorsForNetwork is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNetwork(gens map[string]gopter.Gen) { + gens["PublicNetworkAccess"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_Disabled, EnableStatusEnum_Enabled)) +} + +func Test_Network_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Network_STATUS to Network_STATUS via AssignProperties_To_Network_STATUS & AssignProperties_From_Network_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForNetwork_STATUS, Network_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForNetwork_STATUS tests if a specific instance of Network_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForNetwork_STATUS(subject Network_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.Network_STATUS + err := copied.AssignProperties_To_Network_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Network_STATUS + err = actual.AssignProperties_From_Network_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_Network_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Network_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNetwork_STATUS, Network_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNetwork_STATUS runs a test to see if a specific instance of Network_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNetwork_STATUS(subject Network_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Network_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Network_STATUS instances for property testing - lazily instantiated by Network_STATUSGenerator() +var network_STATUSGenerator gopter.Gen + +// Network_STATUSGenerator returns a generator of Network_STATUS instances for property testing. +func Network_STATUSGenerator() gopter.Gen { + if network_STATUSGenerator != nil { + return network_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNetwork_STATUS(generators) + network_STATUSGenerator = gen.Struct(reflect.TypeOf(Network_STATUS{}), generators) + + return network_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNetwork_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNetwork_STATUS(gens map[string]gopter.Gen) { + gens["DelegatedSubnetResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["PrivateDnsZoneResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["PublicNetworkAccess"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_STATUS_Disabled, EnableStatusEnum_STATUS_Enabled)) +} + +func Test_PrivateEndpointConnection_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from PrivateEndpointConnection_STATUS to PrivateEndpointConnection_STATUS via AssignProperties_To_PrivateEndpointConnection_STATUS & AssignProperties_From_PrivateEndpointConnection_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForPrivateEndpointConnection_STATUS, PrivateEndpointConnection_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForPrivateEndpointConnection_STATUS tests if a specific instance of PrivateEndpointConnection_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForPrivateEndpointConnection_STATUS(subject PrivateEndpointConnection_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.PrivateEndpointConnection_STATUS + err := copied.AssignProperties_To_PrivateEndpointConnection_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual PrivateEndpointConnection_STATUS + err = actual.AssignProperties_From_PrivateEndpointConnection_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_PrivateEndpointConnection_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PrivateEndpointConnection_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPrivateEndpointConnection_STATUS, PrivateEndpointConnection_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPrivateEndpointConnection_STATUS runs a test to see if a specific instance of PrivateEndpointConnection_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForPrivateEndpointConnection_STATUS(subject PrivateEndpointConnection_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PrivateEndpointConnection_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PrivateEndpointConnection_STATUS instances for property testing - lazily instantiated by +// PrivateEndpointConnection_STATUSGenerator() +var privateEndpointConnection_STATUSGenerator gopter.Gen + +// PrivateEndpointConnection_STATUSGenerator returns a generator of PrivateEndpointConnection_STATUS instances for property testing. +func PrivateEndpointConnection_STATUSGenerator() gopter.Gen { + if privateEndpointConnection_STATUSGenerator != nil { + return privateEndpointConnection_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPrivateEndpointConnection_STATUS(generators) + privateEndpointConnection_STATUSGenerator = gen.Struct(reflect.TypeOf(PrivateEndpointConnection_STATUS{}), generators) + + return privateEndpointConnection_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForPrivateEndpointConnection_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPrivateEndpointConnection_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Storage_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Storage to Storage via AssignProperties_To_Storage & AssignProperties_From_Storage returns original", + prop.ForAll(RunPropertyAssignmentTestForStorage, StorageGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForStorage tests if a specific instance of Storage can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForStorage(subject Storage) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.Storage + err := copied.AssignProperties_To_Storage(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Storage + err = actual.AssignProperties_From_Storage(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_Storage_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Storage via JSON returns original", + prop.ForAll(RunJSONSerializationTestForStorage, StorageGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForStorage runs a test to see if a specific instance of Storage round trips to JSON and back losslessly +func RunJSONSerializationTestForStorage(subject Storage) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Storage + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Storage instances for property testing - lazily instantiated by StorageGenerator() +var storageGenerator gopter.Gen + +// StorageGenerator returns a generator of Storage instances for property testing. +func StorageGenerator() gopter.Gen { + if storageGenerator != nil { + return storageGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForStorage(generators) + storageGenerator = gen.Struct(reflect.TypeOf(Storage{}), generators) + + return storageGenerator +} + +// AddIndependentPropertyGeneratorsForStorage is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForStorage(gens map[string]gopter.Gen) { + gens["AutoGrow"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_Disabled, EnableStatusEnum_Enabled)) + gens["AutoIoScaling"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_Disabled, EnableStatusEnum_Enabled)) + gens["Iops"] = gen.PtrOf(gen.Int()) + gens["LogOnDisk"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_Disabled, EnableStatusEnum_Enabled)) + gens["StorageSizeGB"] = gen.PtrOf(gen.Int()) +} + +func Test_Storage_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from Storage_STATUS to Storage_STATUS via AssignProperties_To_Storage_STATUS & AssignProperties_From_Storage_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForStorage_STATUS, Storage_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForStorage_STATUS tests if a specific instance of Storage_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForStorage_STATUS(subject Storage_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.Storage_STATUS + err := copied.AssignProperties_To_Storage_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual Storage_STATUS + err = actual.AssignProperties_From_Storage_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_Storage_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Storage_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForStorage_STATUS, Storage_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForStorage_STATUS runs a test to see if a specific instance of Storage_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForStorage_STATUS(subject Storage_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Storage_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Storage_STATUS instances for property testing - lazily instantiated by Storage_STATUSGenerator() +var storage_STATUSGenerator gopter.Gen + +// Storage_STATUSGenerator returns a generator of Storage_STATUS instances for property testing. +func Storage_STATUSGenerator() gopter.Gen { + if storage_STATUSGenerator != nil { + return storage_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForStorage_STATUS(generators) + storage_STATUSGenerator = gen.Struct(reflect.TypeOf(Storage_STATUS{}), generators) + + return storage_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForStorage_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForStorage_STATUS(gens map[string]gopter.Gen) { + gens["AutoGrow"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_STATUS_Disabled, EnableStatusEnum_STATUS_Enabled)) + gens["AutoIoScaling"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_STATUS_Disabled, EnableStatusEnum_STATUS_Enabled)) + gens["Iops"] = gen.PtrOf(gen.Int()) + gens["LogOnDisk"] = gen.PtrOf(gen.OneConstOf(EnableStatusEnum_STATUS_Disabled, EnableStatusEnum_STATUS_Enabled)) + gens["StorageSizeGB"] = gen.PtrOf(gen.Int()) + gens["StorageSku"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_SystemData_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from SystemData_STATUS to SystemData_STATUS via AssignProperties_To_SystemData_STATUS & AssignProperties_From_SystemData_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForSystemData_STATUS tests if a specific instance of SystemData_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.SystemData_STATUS + err := copied.AssignProperties_To_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual SystemData_STATUS + err = actual.AssignProperties_From_SystemData_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_SystemData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SystemData_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSystemData_STATUS runs a test to see if a specific instance of SystemData_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SystemData_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SystemData_STATUS instances for property testing - lazily instantiated by SystemData_STATUSGenerator() +var systemData_STATUSGenerator gopter.Gen + +// SystemData_STATUSGenerator returns a generator of SystemData_STATUS instances for property testing. +func SystemData_STATUSGenerator() gopter.Gen { + if systemData_STATUSGenerator != nil { + return systemData_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSystemData_STATUS(generators) + systemData_STATUSGenerator = gen.Struct(reflect.TypeOf(SystemData_STATUS{}), generators) + + return systemData_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSystemData_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSystemData_STATUS(gens map[string]gopter.Gen) { + gens["CreatedAt"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedBy"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_CreatedByType_STATUS_Application, + SystemData_CreatedByType_STATUS_Key, + SystemData_CreatedByType_STATUS_ManagedIdentity, + SystemData_CreatedByType_STATUS_User)) + gens["LastModifiedAt"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedBy"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedByType"] = gen.PtrOf(gen.OneConstOf( + SystemData_LastModifiedByType_STATUS_Application, + SystemData_LastModifiedByType_STATUS_Key, + SystemData_LastModifiedByType_STATUS_ManagedIdentity, + SystemData_LastModifiedByType_STATUS_User)) +} + +func Test_FlexibleServerOperatorConfigMaps_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServerOperatorConfigMaps to FlexibleServerOperatorConfigMaps via AssignProperties_To_FlexibleServerOperatorConfigMaps & AssignProperties_From_FlexibleServerOperatorConfigMaps returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServerOperatorConfigMaps, FlexibleServerOperatorConfigMapsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServerOperatorConfigMaps tests if a specific instance of FlexibleServerOperatorConfigMaps can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServerOperatorConfigMaps(subject FlexibleServerOperatorConfigMaps) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServerOperatorConfigMaps + err := copied.AssignProperties_To_FlexibleServerOperatorConfigMaps(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServerOperatorConfigMaps + err = actual.AssignProperties_From_FlexibleServerOperatorConfigMaps(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServerOperatorConfigMaps_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServerOperatorConfigMaps via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServerOperatorConfigMaps, FlexibleServerOperatorConfigMapsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServerOperatorConfigMaps runs a test to see if a specific instance of FlexibleServerOperatorConfigMaps round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServerOperatorConfigMaps(subject FlexibleServerOperatorConfigMaps) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServerOperatorConfigMaps + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServerOperatorConfigMaps instances for property testing - lazily instantiated by +// FlexibleServerOperatorConfigMapsGenerator() +var flexibleServerOperatorConfigMapsGenerator gopter.Gen + +// FlexibleServerOperatorConfigMapsGenerator returns a generator of FlexibleServerOperatorConfigMaps instances for property testing. +func FlexibleServerOperatorConfigMapsGenerator() gopter.Gen { + if flexibleServerOperatorConfigMapsGenerator != nil { + return flexibleServerOperatorConfigMapsGenerator + } + + generators := make(map[string]gopter.Gen) + flexibleServerOperatorConfigMapsGenerator = gen.Struct(reflect.TypeOf(FlexibleServerOperatorConfigMaps{}), generators) + + return flexibleServerOperatorConfigMapsGenerator +} + +func Test_FlexibleServerOperatorSecrets_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServerOperatorSecrets to FlexibleServerOperatorSecrets via AssignProperties_To_FlexibleServerOperatorSecrets & AssignProperties_From_FlexibleServerOperatorSecrets returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServerOperatorSecrets, FlexibleServerOperatorSecretsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServerOperatorSecrets tests if a specific instance of FlexibleServerOperatorSecrets can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServerOperatorSecrets(subject FlexibleServerOperatorSecrets) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServerOperatorSecrets + err := copied.AssignProperties_To_FlexibleServerOperatorSecrets(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServerOperatorSecrets + err = actual.AssignProperties_From_FlexibleServerOperatorSecrets(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServerOperatorSecrets_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServerOperatorSecrets via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServerOperatorSecrets, FlexibleServerOperatorSecretsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServerOperatorSecrets runs a test to see if a specific instance of FlexibleServerOperatorSecrets round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServerOperatorSecrets(subject FlexibleServerOperatorSecrets) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServerOperatorSecrets + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServerOperatorSecrets instances for property testing - lazily instantiated by +// FlexibleServerOperatorSecretsGenerator() +var flexibleServerOperatorSecretsGenerator gopter.Gen + +// FlexibleServerOperatorSecretsGenerator returns a generator of FlexibleServerOperatorSecrets instances for property testing. +func FlexibleServerOperatorSecretsGenerator() gopter.Gen { + if flexibleServerOperatorSecretsGenerator != nil { + return flexibleServerOperatorSecretsGenerator + } + + generators := make(map[string]gopter.Gen) + flexibleServerOperatorSecretsGenerator = gen.Struct(reflect.TypeOf(FlexibleServerOperatorSecrets{}), generators) + + return flexibleServerOperatorSecretsGenerator +} + +func Test_UserAssignedIdentityDetails_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from UserAssignedIdentityDetails to UserAssignedIdentityDetails via AssignProperties_To_UserAssignedIdentityDetails & AssignProperties_From_UserAssignedIdentityDetails returns original", + prop.ForAll(RunPropertyAssignmentTestForUserAssignedIdentityDetails, UserAssignedIdentityDetailsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForUserAssignedIdentityDetails tests if a specific instance of UserAssignedIdentityDetails can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForUserAssignedIdentityDetails(subject UserAssignedIdentityDetails) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.UserAssignedIdentityDetails + err := copied.AssignProperties_To_UserAssignedIdentityDetails(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual UserAssignedIdentityDetails + err = actual.AssignProperties_From_UserAssignedIdentityDetails(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_UserAssignedIdentityDetails_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentityDetails via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentityDetails, UserAssignedIdentityDetailsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentityDetails runs a test to see if a specific instance of UserAssignedIdentityDetails round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentityDetails(subject UserAssignedIdentityDetails) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentityDetails + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentityDetails instances for property testing - lazily instantiated by +// UserAssignedIdentityDetailsGenerator() +var userAssignedIdentityDetailsGenerator gopter.Gen + +// UserAssignedIdentityDetailsGenerator returns a generator of UserAssignedIdentityDetails instances for property testing. +func UserAssignedIdentityDetailsGenerator() gopter.Gen { + if userAssignedIdentityDetailsGenerator != nil { + return userAssignedIdentityDetailsGenerator + } + + generators := make(map[string]gopter.Gen) + userAssignedIdentityDetailsGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentityDetails{}), generators) + + return userAssignedIdentityDetailsGenerator +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_spec_arm_types_gen.go b/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_spec_arm_types_gen.go new file mode 100644 index 00000000000..6fa500c48ab --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_spec_arm_types_gen.go @@ -0,0 +1,46 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type FlexibleServers_Administrator_Spec_ARM struct { + Name string `json:"name,omitempty"` + + // Properties: The properties of an administrator. + Properties *AdministratorProperties_ARM `json:"properties,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &FlexibleServers_Administrator_Spec_ARM{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2023-06-30" +func (administrator FlexibleServers_Administrator_Spec_ARM) GetAPIVersion() string { + return string(APIVersion_Value) +} + +// GetName returns the Name of the resource +func (administrator *FlexibleServers_Administrator_Spec_ARM) GetName() string { + return administrator.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.DBforMySQL/flexibleServers/administrators" +func (administrator *FlexibleServers_Administrator_Spec_ARM) GetType() string { + return "Microsoft.DBforMySQL/flexibleServers/administrators" +} + +// The properties of an administrator. +type AdministratorProperties_ARM struct { + // AdministratorType: Type of the sever administrator. + AdministratorType *AdministratorProperties_AdministratorType `json:"administratorType,omitempty"` + IdentityResourceId *string `json:"identityResourceId,omitempty"` + + // Login: Login name of the server administrator. + Login *string `json:"login,omitempty"` + + // Sid: SID (object ID) of the server administrator. + Sid *string `json:"sid,omitempty" optionalConfigMapPair:"Sid"` + + // TenantId: Tenant ID of the administrator. + TenantId *string `json:"tenantId,omitempty" optionalConfigMapPair:"TenantId"` +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_spec_arm_types_gen_test.go b/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_spec_arm_types_gen_test.go new file mode 100644 index 00000000000..3c99398c2e7 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_spec_arm_types_gen_test.go @@ -0,0 +1,158 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServers_Administrator_Spec_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Administrator_Spec_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Administrator_Spec_ARM, FlexibleServers_Administrator_Spec_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Administrator_Spec_ARM runs a test to see if a specific instance of FlexibleServers_Administrator_Spec_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Administrator_Spec_ARM(subject FlexibleServers_Administrator_Spec_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Administrator_Spec_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Administrator_Spec_ARM instances for property testing - lazily instantiated by +// FlexibleServers_Administrator_Spec_ARMGenerator() +var flexibleServers_Administrator_Spec_ARMGenerator gopter.Gen + +// FlexibleServers_Administrator_Spec_ARMGenerator returns a generator of FlexibleServers_Administrator_Spec_ARM instances for property testing. +// We first initialize flexibleServers_Administrator_Spec_ARMGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_Administrator_Spec_ARMGenerator() gopter.Gen { + if flexibleServers_Administrator_Spec_ARMGenerator != nil { + return flexibleServers_Administrator_Spec_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_Spec_ARM(generators) + flexibleServers_Administrator_Spec_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Administrator_Spec_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_Spec_ARM(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_Administrator_Spec_ARM(generators) + flexibleServers_Administrator_Spec_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Administrator_Spec_ARM{}), generators) + + return flexibleServers_Administrator_Spec_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_Spec_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_Spec_ARM(gens map[string]gopter.Gen) { + gens["Name"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_Administrator_Spec_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_Administrator_Spec_ARM(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(AdministratorProperties_ARMGenerator()) +} + +func Test_AdministratorProperties_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdministratorProperties_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdministratorProperties_ARM, AdministratorProperties_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdministratorProperties_ARM runs a test to see if a specific instance of AdministratorProperties_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForAdministratorProperties_ARM(subject AdministratorProperties_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdministratorProperties_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdministratorProperties_ARM instances for property testing - lazily instantiated by +// AdministratorProperties_ARMGenerator() +var administratorProperties_ARMGenerator gopter.Gen + +// AdministratorProperties_ARMGenerator returns a generator of AdministratorProperties_ARM instances for property testing. +func AdministratorProperties_ARMGenerator() gopter.Gen { + if administratorProperties_ARMGenerator != nil { + return administratorProperties_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdministratorProperties_ARM(generators) + administratorProperties_ARMGenerator = gen.Struct(reflect.TypeOf(AdministratorProperties_ARM{}), generators) + + return administratorProperties_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForAdministratorProperties_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdministratorProperties_ARM(gens map[string]gopter.Gen) { + gens["AdministratorType"] = gen.PtrOf(gen.OneConstOf(AdministratorProperties_AdministratorType_ActiveDirectory)) + gens["IdentityResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["Login"] = gen.PtrOf(gen.AlphaString()) + gens["Sid"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_status_arm_types_gen.go b/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_status_arm_types_gen.go new file mode 100644 index 00000000000..eaaa1eb7386 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_status_arm_types_gen.go @@ -0,0 +1,40 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +type FlexibleServers_Administrator_STATUS_ARM struct { + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Properties: The properties of an administrator. + Properties *AdministratorProperties_STATUS_ARM `json:"properties,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS_ARM `json:"systemData,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +// The properties of an administrator. +type AdministratorProperties_STATUS_ARM struct { + // AdministratorType: Type of the sever administrator. + AdministratorType *AdministratorProperties_AdministratorType_STATUS `json:"administratorType,omitempty"` + + // IdentityResourceId: The resource id of the identity used for AAD Authentication. + IdentityResourceId *string `json:"identityResourceId,omitempty"` + + // Login: Login name of the server administrator. + Login *string `json:"login,omitempty"` + + // Sid: SID (object ID) of the server administrator. + Sid *string `json:"sid,omitempty"` + + // TenantId: Tenant ID of the administrator. + TenantId *string `json:"tenantId,omitempty"` +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_status_arm_types_gen_test.go b/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_status_arm_types_gen_test.go new file mode 100644 index 00000000000..5ef0eb9c1ca --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_status_arm_types_gen_test.go @@ -0,0 +1,161 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServers_Administrator_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Administrator_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Administrator_STATUS_ARM, FlexibleServers_Administrator_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Administrator_STATUS_ARM runs a test to see if a specific instance of FlexibleServers_Administrator_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Administrator_STATUS_ARM(subject FlexibleServers_Administrator_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Administrator_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Administrator_STATUS_ARM instances for property testing - lazily instantiated by +// FlexibleServers_Administrator_STATUS_ARMGenerator() +var flexibleServers_Administrator_STATUS_ARMGenerator gopter.Gen + +// FlexibleServers_Administrator_STATUS_ARMGenerator returns a generator of FlexibleServers_Administrator_STATUS_ARM instances for property testing. +// We first initialize flexibleServers_Administrator_STATUS_ARMGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_Administrator_STATUS_ARMGenerator() gopter.Gen { + if flexibleServers_Administrator_STATUS_ARMGenerator != nil { + return flexibleServers_Administrator_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_STATUS_ARM(generators) + flexibleServers_Administrator_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Administrator_STATUS_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_STATUS_ARM(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_Administrator_STATUS_ARM(generators) + flexibleServers_Administrator_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Administrator_STATUS_ARM{}), generators) + + return flexibleServers_Administrator_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_Administrator_STATUS_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_Administrator_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(AdministratorProperties_STATUS_ARMGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUS_ARMGenerator()) +} + +func Test_AdministratorProperties_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of AdministratorProperties_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForAdministratorProperties_STATUS_ARM, AdministratorProperties_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForAdministratorProperties_STATUS_ARM runs a test to see if a specific instance of AdministratorProperties_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForAdministratorProperties_STATUS_ARM(subject AdministratorProperties_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual AdministratorProperties_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of AdministratorProperties_STATUS_ARM instances for property testing - lazily instantiated by +// AdministratorProperties_STATUS_ARMGenerator() +var administratorProperties_STATUS_ARMGenerator gopter.Gen + +// AdministratorProperties_STATUS_ARMGenerator returns a generator of AdministratorProperties_STATUS_ARM instances for property testing. +func AdministratorProperties_STATUS_ARMGenerator() gopter.Gen { + if administratorProperties_STATUS_ARMGenerator != nil { + return administratorProperties_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForAdministratorProperties_STATUS_ARM(generators) + administratorProperties_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(AdministratorProperties_STATUS_ARM{}), generators) + + return administratorProperties_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForAdministratorProperties_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForAdministratorProperties_STATUS_ARM(gens map[string]gopter.Gen) { + gens["AdministratorType"] = gen.PtrOf(gen.OneConstOf(AdministratorProperties_AdministratorType_STATUS_ActiveDirectory)) + gens["IdentityResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["Login"] = gen.PtrOf(gen.AlphaString()) + gens["Sid"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_types_gen.go b/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_types_gen.go new file mode 100644 index 00000000000..0a2897c942d --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_types_gen.go @@ -0,0 +1,1012 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "fmt" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" + "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" +) + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-06-30/AzureADAdministrator.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} +type FlexibleServersAdministrator struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FlexibleServers_Administrator_Spec `json:"spec,omitempty"` + Status FlexibleServers_Administrator_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &FlexibleServersAdministrator{} + +// GetConditions returns the conditions of the resource +func (administrator *FlexibleServersAdministrator) GetConditions() conditions.Conditions { + return administrator.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (administrator *FlexibleServersAdministrator) SetConditions(conditions conditions.Conditions) { + administrator.Status.Conditions = conditions +} + +var _ conversion.Convertible = &FlexibleServersAdministrator{} + +// ConvertFrom populates our FlexibleServersAdministrator from the provided hub FlexibleServersAdministrator +func (administrator *FlexibleServersAdministrator) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*v20230630s.FlexibleServersAdministrator) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersAdministrator but received %T instead", hub) + } + + return administrator.AssignProperties_From_FlexibleServersAdministrator(source) +} + +// ConvertTo populates the provided hub FlexibleServersAdministrator from our FlexibleServersAdministrator +func (administrator *FlexibleServersAdministrator) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*v20230630s.FlexibleServersAdministrator) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersAdministrator but received %T instead", hub) + } + + return administrator.AssignProperties_To_FlexibleServersAdministrator(destination) +} + +// +kubebuilder:webhook:path=/mutate-dbformysql-azure-com-v1api20230630-flexibleserversadministrator,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=dbformysql.azure.com,resources=flexibleserversadministrators,verbs=create;update,versions=v1api20230630,name=default.v1api20230630.flexibleserversadministrators.dbformysql.azure.com,admissionReviewVersions=v1 + +var _ admission.Defaulter = &FlexibleServersAdministrator{} + +// Default applies defaults to the FlexibleServersAdministrator resource +func (administrator *FlexibleServersAdministrator) Default() { + administrator.defaultImpl() + var temp any = administrator + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + runtimeDefaulter.CustomDefault() + } +} + +// defaultImpl applies the code generated defaults to the FlexibleServersAdministrator resource +func (administrator *FlexibleServersAdministrator) defaultImpl() {} + +var _ genruntime.ImportableResource = &FlexibleServersAdministrator{} + +// InitializeSpec initializes the spec for this resource from the given status +func (administrator *FlexibleServersAdministrator) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*FlexibleServers_Administrator_STATUS); ok { + return administrator.Spec.Initialize_From_FlexibleServers_Administrator_STATUS(s) + } + + return fmt.Errorf("expected Status of type FlexibleServers_Administrator_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesResource = &FlexibleServersAdministrator{} + +// AzureName returns the Azure name of the resource (always "ActiveDirectory") +func (administrator *FlexibleServersAdministrator) AzureName() string { + return "ActiveDirectory" +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2023-06-30" +func (administrator FlexibleServersAdministrator) GetAPIVersion() string { + return string(APIVersion_Value) +} + +// GetResourceScope returns the scope of the resource +func (administrator *FlexibleServersAdministrator) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (administrator *FlexibleServersAdministrator) GetSpec() genruntime.ConvertibleSpec { + return &administrator.Spec +} + +// GetStatus returns the status of this resource +func (administrator *FlexibleServersAdministrator) GetStatus() genruntime.ConvertibleStatus { + return &administrator.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (administrator *FlexibleServersAdministrator) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.DBforMySQL/flexibleServers/administrators" +func (administrator *FlexibleServersAdministrator) GetType() string { + return "Microsoft.DBforMySQL/flexibleServers/administrators" +} + +// NewEmptyStatus returns a new empty (blank) status +func (administrator *FlexibleServersAdministrator) NewEmptyStatus() genruntime.ConvertibleStatus { + return &FlexibleServers_Administrator_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (administrator *FlexibleServersAdministrator) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(administrator.Spec) + return administrator.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (administrator *FlexibleServersAdministrator) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*FlexibleServers_Administrator_STATUS); ok { + administrator.Status = *st + return nil + } + + // Convert status to required version + var st FlexibleServers_Administrator_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + administrator.Status = st + return nil +} + +// +kubebuilder:webhook:path=/validate-dbformysql-azure-com-v1api20230630-flexibleserversadministrator,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=dbformysql.azure.com,resources=flexibleserversadministrators,verbs=create;update,versions=v1api20230630,name=validate.v1api20230630.flexibleserversadministrators.dbformysql.azure.com,admissionReviewVersions=v1 + +var _ admission.Validator = &FlexibleServersAdministrator{} + +// ValidateCreate validates the creation of the resource +func (administrator *FlexibleServersAdministrator) ValidateCreate() (admission.Warnings, error) { + validations := administrator.createValidations() + var temp any = administrator + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(validations) +} + +// ValidateDelete validates the deletion of the resource +func (administrator *FlexibleServersAdministrator) ValidateDelete() (admission.Warnings, error) { + validations := administrator.deleteValidations() + var temp any = administrator + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(validations) +} + +// ValidateUpdate validates an update of the resource +func (administrator *FlexibleServersAdministrator) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { + validations := administrator.updateValidations() + var temp any = administrator + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.UpdateValidations()...) + } + return genruntime.ValidateUpdate(old, validations) +} + +// createValidations validates the creation of the resource +func (administrator *FlexibleServersAdministrator) createValidations() []func() (admission.Warnings, error) { + return []func() (admission.Warnings, error){administrator.validateResourceReferences, administrator.validateOwnerReference, administrator.validateOptionalConfigMapReferences} +} + +// deleteValidations validates the deletion of the resource +func (administrator *FlexibleServersAdministrator) deleteValidations() []func() (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (administrator *FlexibleServersAdministrator) updateValidations() []func(old runtime.Object) (admission.Warnings, error) { + return []func(old runtime.Object) (admission.Warnings, error){ + func(old runtime.Object) (admission.Warnings, error) { + return administrator.validateResourceReferences() + }, + administrator.validateWriteOnceProperties, + func(old runtime.Object) (admission.Warnings, error) { + return administrator.validateOwnerReference() + }, + func(old runtime.Object) (admission.Warnings, error) { + return administrator.validateOptionalConfigMapReferences() + }, + } +} + +// validateOptionalConfigMapReferences validates all optional configmap reference pairs to ensure that at most 1 is set +func (administrator *FlexibleServersAdministrator) validateOptionalConfigMapReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindOptionalConfigMapReferences(&administrator.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateOptionalConfigMapReferences(refs) +} + +// validateOwnerReference validates the owner field +func (administrator *FlexibleServersAdministrator) validateOwnerReference() (admission.Warnings, error) { + return genruntime.ValidateOwner(administrator) +} + +// validateResourceReferences validates all resource references +func (administrator *FlexibleServersAdministrator) validateResourceReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&administrator.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (administrator *FlexibleServersAdministrator) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { + oldObj, ok := old.(*FlexibleServersAdministrator) + if !ok { + return nil, nil + } + + return genruntime.ValidateWriteOnceProperties(oldObj, administrator) +} + +// AssignProperties_From_FlexibleServersAdministrator populates our FlexibleServersAdministrator from the provided source FlexibleServersAdministrator +func (administrator *FlexibleServersAdministrator) AssignProperties_From_FlexibleServersAdministrator(source *v20230630s.FlexibleServersAdministrator) error { + + // ObjectMeta + administrator.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec FlexibleServers_Administrator_Spec + err := spec.AssignProperties_From_FlexibleServers_Administrator_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_Administrator_Spec() to populate field Spec") + } + administrator.Spec = spec + + // Status + var status FlexibleServers_Administrator_STATUS + err = status.AssignProperties_From_FlexibleServers_Administrator_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_Administrator_STATUS() to populate field Status") + } + administrator.Status = status + + // No error + return nil +} + +// AssignProperties_To_FlexibleServersAdministrator populates the provided destination FlexibleServersAdministrator from our FlexibleServersAdministrator +func (administrator *FlexibleServersAdministrator) AssignProperties_To_FlexibleServersAdministrator(destination *v20230630s.FlexibleServersAdministrator) error { + + // ObjectMeta + destination.ObjectMeta = *administrator.ObjectMeta.DeepCopy() + + // Spec + var spec v20230630s.FlexibleServers_Administrator_Spec + err := administrator.Spec.AssignProperties_To_FlexibleServers_Administrator_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_Administrator_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status v20230630s.FlexibleServers_Administrator_STATUS + err = administrator.Status.AssignProperties_To_FlexibleServers_Administrator_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_Administrator_STATUS() to populate field Status") + } + destination.Status = status + + // No error + return nil +} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (administrator *FlexibleServersAdministrator) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: administrator.Spec.OriginalVersion(), + Kind: "FlexibleServersAdministrator", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-06-30/AzureADAdministrator.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} +type FlexibleServersAdministratorList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FlexibleServersAdministrator `json:"items"` +} + +type FlexibleServers_Administrator_Spec struct { + // AdministratorType: Type of the sever administrator. + AdministratorType *AdministratorProperties_AdministratorType `json:"administratorType,omitempty"` + + // IdentityResourceReference: The resource id of the identity used for AAD Authentication. + IdentityResourceReference *genruntime.ResourceReference `armReference:"IdentityResourceId" json:"identityResourceReference,omitempty"` + + // Login: Login name of the server administrator. + Login *string `json:"login,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a dbformysql.azure.com/FlexibleServer resource + Owner *genruntime.KnownResourceReference `group:"dbformysql.azure.com" json:"owner,omitempty" kind:"FlexibleServer"` + + // Sid: SID (object ID) of the server administrator. + Sid *string `json:"sid,omitempty" optionalConfigMapPair:"Sid"` + + // SidFromConfig: SID (object ID) of the server administrator. + SidFromConfig *genruntime.ConfigMapReference `json:"sidFromConfig,omitempty" optionalConfigMapPair:"Sid"` + + // TenantId: Tenant ID of the administrator. + TenantId *string `json:"tenantId,omitempty" optionalConfigMapPair:"TenantId"` + + // TenantIdFromConfig: Tenant ID of the administrator. + TenantIdFromConfig *genruntime.ConfigMapReference `json:"tenantIdFromConfig,omitempty" optionalConfigMapPair:"TenantId"` +} + +var _ genruntime.ARMTransformer = &FlexibleServers_Administrator_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (administrator *FlexibleServers_Administrator_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if administrator == nil { + return nil, nil + } + result := &FlexibleServers_Administrator_Spec_ARM{} + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if administrator.AdministratorType != nil || + administrator.IdentityResourceReference != nil || + administrator.Login != nil || + administrator.Sid != nil || + administrator.SidFromConfig != nil || + administrator.TenantId != nil || + administrator.TenantIdFromConfig != nil { + result.Properties = &AdministratorProperties_ARM{} + } + if administrator.AdministratorType != nil { + administratorType := *administrator.AdministratorType + result.Properties.AdministratorType = &administratorType + } + if administrator.IdentityResourceReference != nil { + identityResourceIdARMID, err := resolved.ResolvedReferences.Lookup(*administrator.IdentityResourceReference) + if err != nil { + return nil, err + } + identityResourceId := identityResourceIdARMID + result.Properties.IdentityResourceId = &identityResourceId + } + if administrator.Login != nil { + login := *administrator.Login + result.Properties.Login = &login + } + if administrator.Sid != nil { + sid := *administrator.Sid + result.Properties.Sid = &sid + } + if administrator.SidFromConfig != nil { + sidValue, err := resolved.ResolvedConfigMaps.Lookup(*administrator.SidFromConfig) + if err != nil { + return nil, errors.Wrap(err, "looking up configmap for property Sid") + } + sid := sidValue + result.Properties.Sid = &sid + } + if administrator.TenantId != nil { + tenantId := *administrator.TenantId + result.Properties.TenantId = &tenantId + } + if administrator.TenantIdFromConfig != nil { + tenantIdValue, err := resolved.ResolvedConfigMaps.Lookup(*administrator.TenantIdFromConfig) + if err != nil { + return nil, errors.Wrap(err, "looking up configmap for property TenantId") + } + tenantId := tenantIdValue + result.Properties.TenantId = &tenantId + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (administrator *FlexibleServers_Administrator_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &FlexibleServers_Administrator_Spec_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (administrator *FlexibleServers_Administrator_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(FlexibleServers_Administrator_Spec_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected FlexibleServers_Administrator_Spec_ARM, got %T", armInput) + } + + // Set property "AdministratorType": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AdministratorType != nil { + administratorType := *typedInput.Properties.AdministratorType + administrator.AdministratorType = &administratorType + } + } + + // no assignment for property "IdentityResourceReference" + + // Set property "Login": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Login != nil { + login := *typedInput.Properties.Login + administrator.Login = &login + } + } + + // Set property "Owner": + administrator.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // Set property "Sid": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Sid != nil { + sid := *typedInput.Properties.Sid + administrator.Sid = &sid + } + } + + // no assignment for property "SidFromConfig" + + // Set property "TenantId": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.TenantId != nil { + tenantId := *typedInput.Properties.TenantId + administrator.TenantId = &tenantId + } + } + + // no assignment for property "TenantIdFromConfig" + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &FlexibleServers_Administrator_Spec{} + +// ConvertSpecFrom populates our FlexibleServers_Administrator_Spec from the provided source +func (administrator *FlexibleServers_Administrator_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*v20230630s.FlexibleServers_Administrator_Spec) + if ok { + // Populate our instance from source + return administrator.AssignProperties_From_FlexibleServers_Administrator_Spec(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_Administrator_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = administrator.AssignProperties_From_FlexibleServers_Administrator_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our FlexibleServers_Administrator_Spec +func (administrator *FlexibleServers_Administrator_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*v20230630s.FlexibleServers_Administrator_Spec) + if ok { + // Populate destination from our instance + return administrator.AssignProperties_To_FlexibleServers_Administrator_Spec(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_Administrator_Spec{} + err := administrator.AssignProperties_To_FlexibleServers_Administrator_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_FlexibleServers_Administrator_Spec populates our FlexibleServers_Administrator_Spec from the provided source FlexibleServers_Administrator_Spec +func (administrator *FlexibleServers_Administrator_Spec) AssignProperties_From_FlexibleServers_Administrator_Spec(source *v20230630s.FlexibleServers_Administrator_Spec) error { + + // AdministratorType + if source.AdministratorType != nil { + administratorType := *source.AdministratorType + administratorTypeTemp := genruntime.ToEnum(administratorType, administratorProperties_AdministratorType_Values) + administrator.AdministratorType = &administratorTypeTemp + } else { + administrator.AdministratorType = nil + } + + // IdentityResourceReference + if source.IdentityResourceReference != nil { + identityResourceReference := source.IdentityResourceReference.Copy() + administrator.IdentityResourceReference = &identityResourceReference + } else { + administrator.IdentityResourceReference = nil + } + + // Login + administrator.Login = genruntime.ClonePointerToString(source.Login) + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + administrator.Owner = &owner + } else { + administrator.Owner = nil + } + + // Sid + administrator.Sid = genruntime.ClonePointerToString(source.Sid) + + // SidFromConfig + if source.SidFromConfig != nil { + sidFromConfig := source.SidFromConfig.Copy() + administrator.SidFromConfig = &sidFromConfig + } else { + administrator.SidFromConfig = nil + } + + // TenantId + administrator.TenantId = genruntime.ClonePointerToString(source.TenantId) + + // TenantIdFromConfig + if source.TenantIdFromConfig != nil { + tenantIdFromConfig := source.TenantIdFromConfig.Copy() + administrator.TenantIdFromConfig = &tenantIdFromConfig + } else { + administrator.TenantIdFromConfig = nil + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_Administrator_Spec populates the provided destination FlexibleServers_Administrator_Spec from our FlexibleServers_Administrator_Spec +func (administrator *FlexibleServers_Administrator_Spec) AssignProperties_To_FlexibleServers_Administrator_Spec(destination *v20230630s.FlexibleServers_Administrator_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdministratorType + if administrator.AdministratorType != nil { + administratorType := string(*administrator.AdministratorType) + destination.AdministratorType = &administratorType + } else { + destination.AdministratorType = nil + } + + // IdentityResourceReference + if administrator.IdentityResourceReference != nil { + identityResourceReference := administrator.IdentityResourceReference.Copy() + destination.IdentityResourceReference = &identityResourceReference + } else { + destination.IdentityResourceReference = nil + } + + // Login + destination.Login = genruntime.ClonePointerToString(administrator.Login) + + // OriginalVersion + destination.OriginalVersion = administrator.OriginalVersion() + + // Owner + if administrator.Owner != nil { + owner := administrator.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // Sid + destination.Sid = genruntime.ClonePointerToString(administrator.Sid) + + // SidFromConfig + if administrator.SidFromConfig != nil { + sidFromConfig := administrator.SidFromConfig.Copy() + destination.SidFromConfig = &sidFromConfig + } else { + destination.SidFromConfig = nil + } + + // TenantId + destination.TenantId = genruntime.ClonePointerToString(administrator.TenantId) + + // TenantIdFromConfig + if administrator.TenantIdFromConfig != nil { + tenantIdFromConfig := administrator.TenantIdFromConfig.Copy() + destination.TenantIdFromConfig = &tenantIdFromConfig + } else { + destination.TenantIdFromConfig = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_FlexibleServers_Administrator_STATUS populates our FlexibleServers_Administrator_Spec from the provided source FlexibleServers_Administrator_STATUS +func (administrator *FlexibleServers_Administrator_Spec) Initialize_From_FlexibleServers_Administrator_STATUS(source *FlexibleServers_Administrator_STATUS) error { + + // AdministratorType + if source.AdministratorType != nil { + administratorType := AdministratorProperties_AdministratorType(*source.AdministratorType) + administrator.AdministratorType = &administratorType + } else { + administrator.AdministratorType = nil + } + + // IdentityResourceReference + if source.IdentityResourceId != nil { + identityResourceReference := genruntime.CreateResourceReferenceFromARMID(*source.IdentityResourceId) + administrator.IdentityResourceReference = &identityResourceReference + } else { + administrator.IdentityResourceReference = nil + } + + // Login + administrator.Login = genruntime.ClonePointerToString(source.Login) + + // Sid + administrator.Sid = genruntime.ClonePointerToString(source.Sid) + + // TenantId + administrator.TenantId = genruntime.ClonePointerToString(source.TenantId) + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (administrator *FlexibleServers_Administrator_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +type FlexibleServers_Administrator_STATUS struct { + // AdministratorType: Type of the sever administrator. + AdministratorType *AdministratorProperties_AdministratorType_STATUS `json:"administratorType,omitempty"` + + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // IdentityResourceId: The resource id of the identity used for AAD Authentication. + IdentityResourceId *string `json:"identityResourceId,omitempty"` + + // Login: Login name of the server administrator. + Login *string `json:"login,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Sid: SID (object ID) of the server administrator. + Sid *string `json:"sid,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // TenantId: Tenant ID of the administrator. + TenantId *string `json:"tenantId,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &FlexibleServers_Administrator_STATUS{} + +// ConvertStatusFrom populates our FlexibleServers_Administrator_STATUS from the provided source +func (administrator *FlexibleServers_Administrator_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*v20230630s.FlexibleServers_Administrator_STATUS) + if ok { + // Populate our instance from source + return administrator.AssignProperties_From_FlexibleServers_Administrator_STATUS(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_Administrator_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = administrator.AssignProperties_From_FlexibleServers_Administrator_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our FlexibleServers_Administrator_STATUS +func (administrator *FlexibleServers_Administrator_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*v20230630s.FlexibleServers_Administrator_STATUS) + if ok { + // Populate destination from our instance + return administrator.AssignProperties_To_FlexibleServers_Administrator_STATUS(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_Administrator_STATUS{} + err := administrator.AssignProperties_To_FlexibleServers_Administrator_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &FlexibleServers_Administrator_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (administrator *FlexibleServers_Administrator_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &FlexibleServers_Administrator_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (administrator *FlexibleServers_Administrator_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(FlexibleServers_Administrator_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected FlexibleServers_Administrator_STATUS_ARM, got %T", armInput) + } + + // Set property "AdministratorType": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AdministratorType != nil { + administratorType := *typedInput.Properties.AdministratorType + administrator.AdministratorType = &administratorType + } + } + + // no assignment for property "Conditions" + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + administrator.Id = &id + } + + // Set property "IdentityResourceId": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.IdentityResourceId != nil { + identityResourceId := *typedInput.Properties.IdentityResourceId + administrator.IdentityResourceId = &identityResourceId + } + } + + // Set property "Login": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Login != nil { + login := *typedInput.Properties.Login + administrator.Login = &login + } + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + administrator.Name = &name + } + + // Set property "Sid": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Sid != nil { + sid := *typedInput.Properties.Sid + administrator.Sid = &sid + } + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + administrator.SystemData = &systemData + } + + // Set property "TenantId": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.TenantId != nil { + tenantId := *typedInput.Properties.TenantId + administrator.TenantId = &tenantId + } + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + administrator.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_FlexibleServers_Administrator_STATUS populates our FlexibleServers_Administrator_STATUS from the provided source FlexibleServers_Administrator_STATUS +func (administrator *FlexibleServers_Administrator_STATUS) AssignProperties_From_FlexibleServers_Administrator_STATUS(source *v20230630s.FlexibleServers_Administrator_STATUS) error { + + // AdministratorType + if source.AdministratorType != nil { + administratorType := *source.AdministratorType + administratorTypeTemp := genruntime.ToEnum(administratorType, administratorProperties_AdministratorType_STATUS_Values) + administrator.AdministratorType = &administratorTypeTemp + } else { + administrator.AdministratorType = nil + } + + // Conditions + administrator.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // Id + administrator.Id = genruntime.ClonePointerToString(source.Id) + + // IdentityResourceId + administrator.IdentityResourceId = genruntime.ClonePointerToString(source.IdentityResourceId) + + // Login + administrator.Login = genruntime.ClonePointerToString(source.Login) + + // Name + administrator.Name = genruntime.ClonePointerToString(source.Name) + + // Sid + administrator.Sid = genruntime.ClonePointerToString(source.Sid) + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + administrator.SystemData = &systemDatum + } else { + administrator.SystemData = nil + } + + // TenantId + administrator.TenantId = genruntime.ClonePointerToString(source.TenantId) + + // Type + administrator.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_Administrator_STATUS populates the provided destination FlexibleServers_Administrator_STATUS from our FlexibleServers_Administrator_STATUS +func (administrator *FlexibleServers_Administrator_STATUS) AssignProperties_To_FlexibleServers_Administrator_STATUS(destination *v20230630s.FlexibleServers_Administrator_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AdministratorType + if administrator.AdministratorType != nil { + administratorType := string(*administrator.AdministratorType) + destination.AdministratorType = &administratorType + } else { + destination.AdministratorType = nil + } + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(administrator.Conditions) + + // Id + destination.Id = genruntime.ClonePointerToString(administrator.Id) + + // IdentityResourceId + destination.IdentityResourceId = genruntime.ClonePointerToString(administrator.IdentityResourceId) + + // Login + destination.Login = genruntime.ClonePointerToString(administrator.Login) + + // Name + destination.Name = genruntime.ClonePointerToString(administrator.Name) + + // Sid + destination.Sid = genruntime.ClonePointerToString(administrator.Sid) + + // SystemData + if administrator.SystemData != nil { + var systemDatum v20230630s.SystemData_STATUS + err := administrator.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // TenantId + destination.TenantId = genruntime.ClonePointerToString(administrator.TenantId) + + // Type + destination.Type = genruntime.ClonePointerToString(administrator.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// +kubebuilder:validation:Enum={"ActiveDirectory"} +type AdministratorProperties_AdministratorType string + +const AdministratorProperties_AdministratorType_ActiveDirectory = AdministratorProperties_AdministratorType("ActiveDirectory") + +// Mapping from string to AdministratorProperties_AdministratorType +var administratorProperties_AdministratorType_Values = map[string]AdministratorProperties_AdministratorType{ + "activedirectory": AdministratorProperties_AdministratorType_ActiveDirectory, +} + +type AdministratorProperties_AdministratorType_STATUS string + +const AdministratorProperties_AdministratorType_STATUS_ActiveDirectory = AdministratorProperties_AdministratorType_STATUS("ActiveDirectory") + +// Mapping from string to AdministratorProperties_AdministratorType_STATUS +var administratorProperties_AdministratorType_STATUS_Values = map[string]AdministratorProperties_AdministratorType_STATUS{ + "activedirectory": AdministratorProperties_AdministratorType_STATUS_ActiveDirectory, +} + +func init() { + SchemeBuilder.Register(&FlexibleServersAdministrator{}, &FlexibleServersAdministratorList{}) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_types_gen_test.go b/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_types_gen_test.go new file mode 100644 index 00000000000..4dbd58040e9 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_administrator_types_gen_test.go @@ -0,0 +1,396 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "encoding/json" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServersAdministrator_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersAdministrator to hub returns original", + prop.ForAll(RunResourceConversionTestForFlexibleServersAdministrator, FlexibleServersAdministratorGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForFlexibleServersAdministrator tests if a specific instance of FlexibleServersAdministrator round trips to the hub storage version and back losslessly +func RunResourceConversionTestForFlexibleServersAdministrator(subject FlexibleServersAdministrator) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub v20230630s.FlexibleServersAdministrator + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual FlexibleServersAdministrator + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServersAdministrator_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersAdministrator to FlexibleServersAdministrator via AssignProperties_To_FlexibleServersAdministrator & AssignProperties_From_FlexibleServersAdministrator returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServersAdministrator, FlexibleServersAdministratorGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServersAdministrator tests if a specific instance of FlexibleServersAdministrator can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServersAdministrator(subject FlexibleServersAdministrator) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServersAdministrator + err := copied.AssignProperties_To_FlexibleServersAdministrator(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServersAdministrator + err = actual.AssignProperties_From_FlexibleServersAdministrator(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServersAdministrator_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServersAdministrator via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServersAdministrator, FlexibleServersAdministratorGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServersAdministrator runs a test to see if a specific instance of FlexibleServersAdministrator round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServersAdministrator(subject FlexibleServersAdministrator) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServersAdministrator + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServersAdministrator instances for property testing - lazily instantiated by +// FlexibleServersAdministratorGenerator() +var flexibleServersAdministratorGenerator gopter.Gen + +// FlexibleServersAdministratorGenerator returns a generator of FlexibleServersAdministrator instances for property testing. +func FlexibleServersAdministratorGenerator() gopter.Gen { + if flexibleServersAdministratorGenerator != nil { + return flexibleServersAdministratorGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForFlexibleServersAdministrator(generators) + flexibleServersAdministratorGenerator = gen.Struct(reflect.TypeOf(FlexibleServersAdministrator{}), generators) + + return flexibleServersAdministratorGenerator +} + +// AddRelatedPropertyGeneratorsForFlexibleServersAdministrator is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServersAdministrator(gens map[string]gopter.Gen) { + gens["Spec"] = FlexibleServers_Administrator_SpecGenerator() + gens["Status"] = FlexibleServers_Administrator_STATUSGenerator() +} + +func Test_FlexibleServers_Administrator_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_Administrator_Spec to FlexibleServers_Administrator_Spec via AssignProperties_To_FlexibleServers_Administrator_Spec & AssignProperties_From_FlexibleServers_Administrator_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_Administrator_Spec, FlexibleServers_Administrator_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_Administrator_Spec tests if a specific instance of FlexibleServers_Administrator_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_Administrator_Spec(subject FlexibleServers_Administrator_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_Administrator_Spec + err := copied.AssignProperties_To_FlexibleServers_Administrator_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_Administrator_Spec + err = actual.AssignProperties_From_FlexibleServers_Administrator_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServers_Administrator_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Administrator_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Administrator_Spec, FlexibleServers_Administrator_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Administrator_Spec runs a test to see if a specific instance of FlexibleServers_Administrator_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Administrator_Spec(subject FlexibleServers_Administrator_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Administrator_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Administrator_Spec instances for property testing - lazily instantiated by +// FlexibleServers_Administrator_SpecGenerator() +var flexibleServers_Administrator_SpecGenerator gopter.Gen + +// FlexibleServers_Administrator_SpecGenerator returns a generator of FlexibleServers_Administrator_Spec instances for property testing. +func FlexibleServers_Administrator_SpecGenerator() gopter.Gen { + if flexibleServers_Administrator_SpecGenerator != nil { + return flexibleServers_Administrator_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_Spec(generators) + flexibleServers_Administrator_SpecGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Administrator_Spec{}), generators) + + return flexibleServers_Administrator_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_Spec(gens map[string]gopter.Gen) { + gens["AdministratorType"] = gen.PtrOf(gen.OneConstOf(AdministratorProperties_AdministratorType_ActiveDirectory)) + gens["Login"] = gen.PtrOf(gen.AlphaString()) + gens["Sid"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_FlexibleServers_Administrator_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_Administrator_STATUS to FlexibleServers_Administrator_STATUS via AssignProperties_To_FlexibleServers_Administrator_STATUS & AssignProperties_From_FlexibleServers_Administrator_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_Administrator_STATUS, FlexibleServers_Administrator_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_Administrator_STATUS tests if a specific instance of FlexibleServers_Administrator_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_Administrator_STATUS(subject FlexibleServers_Administrator_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_Administrator_STATUS + err := copied.AssignProperties_To_FlexibleServers_Administrator_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_Administrator_STATUS + err = actual.AssignProperties_From_FlexibleServers_Administrator_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServers_Administrator_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Administrator_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Administrator_STATUS, FlexibleServers_Administrator_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Administrator_STATUS runs a test to see if a specific instance of FlexibleServers_Administrator_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Administrator_STATUS(subject FlexibleServers_Administrator_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Administrator_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Administrator_STATUS instances for property testing - lazily instantiated by +// FlexibleServers_Administrator_STATUSGenerator() +var flexibleServers_Administrator_STATUSGenerator gopter.Gen + +// FlexibleServers_Administrator_STATUSGenerator returns a generator of FlexibleServers_Administrator_STATUS instances for property testing. +// We first initialize flexibleServers_Administrator_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_Administrator_STATUSGenerator() gopter.Gen { + if flexibleServers_Administrator_STATUSGenerator != nil { + return flexibleServers_Administrator_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_STATUS(generators) + flexibleServers_Administrator_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Administrator_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_STATUS(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_Administrator_STATUS(generators) + flexibleServers_Administrator_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Administrator_STATUS{}), generators) + + return flexibleServers_Administrator_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_STATUS(gens map[string]gopter.Gen) { + gens["AdministratorType"] = gen.PtrOf(gen.OneConstOf(AdministratorProperties_AdministratorType_STATUS_ActiveDirectory)) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["IdentityResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["Login"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Sid"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_Administrator_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_Administrator_STATUS(gens map[string]gopter.Gen) { + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_spec_arm_types_gen.go b/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_spec_arm_types_gen.go new file mode 100644 index 00000000000..51696a675cf --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_spec_arm_types_gen.go @@ -0,0 +1,42 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type FlexibleServers_Configuration_Spec_ARM struct { + Name string `json:"name,omitempty"` + + // Properties: The properties of a configuration. + Properties *ConfigurationProperties_ARM `json:"properties,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &FlexibleServers_Configuration_Spec_ARM{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2023-06-30" +func (configuration FlexibleServers_Configuration_Spec_ARM) GetAPIVersion() string { + return string(APIVersion_Value) +} + +// GetName returns the Name of the resource +func (configuration *FlexibleServers_Configuration_Spec_ARM) GetName() string { + return configuration.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.DBforMySQL/flexibleServers/configurations" +func (configuration *FlexibleServers_Configuration_Spec_ARM) GetType() string { + return "Microsoft.DBforMySQL/flexibleServers/configurations" +} + +// The properties of a configuration. +type ConfigurationProperties_ARM struct { + // CurrentValue: Current value of the configuration. + CurrentValue *string `json:"currentValue,omitempty"` + + // Source: Source of the configuration. + Source *ConfigurationProperties_Source `json:"source,omitempty"` + + // Value: Value of the configuration. + Value *string `json:"value,omitempty"` +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_spec_arm_types_gen_test.go b/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_spec_arm_types_gen_test.go new file mode 100644 index 00000000000..034143fe273 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_spec_arm_types_gen_test.go @@ -0,0 +1,156 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServers_Configuration_Spec_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Configuration_Spec_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Configuration_Spec_ARM, FlexibleServers_Configuration_Spec_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Configuration_Spec_ARM runs a test to see if a specific instance of FlexibleServers_Configuration_Spec_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Configuration_Spec_ARM(subject FlexibleServers_Configuration_Spec_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Configuration_Spec_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Configuration_Spec_ARM instances for property testing - lazily instantiated by +// FlexibleServers_Configuration_Spec_ARMGenerator() +var flexibleServers_Configuration_Spec_ARMGenerator gopter.Gen + +// FlexibleServers_Configuration_Spec_ARMGenerator returns a generator of FlexibleServers_Configuration_Spec_ARM instances for property testing. +// We first initialize flexibleServers_Configuration_Spec_ARMGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_Configuration_Spec_ARMGenerator() gopter.Gen { + if flexibleServers_Configuration_Spec_ARMGenerator != nil { + return flexibleServers_Configuration_Spec_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_Spec_ARM(generators) + flexibleServers_Configuration_Spec_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Configuration_Spec_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_Spec_ARM(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_Configuration_Spec_ARM(generators) + flexibleServers_Configuration_Spec_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Configuration_Spec_ARM{}), generators) + + return flexibleServers_Configuration_Spec_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_Spec_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_Spec_ARM(gens map[string]gopter.Gen) { + gens["Name"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_Configuration_Spec_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_Configuration_Spec_ARM(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(ConfigurationProperties_ARMGenerator()) +} + +func Test_ConfigurationProperties_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ConfigurationProperties_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForConfigurationProperties_ARM, ConfigurationProperties_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForConfigurationProperties_ARM runs a test to see if a specific instance of ConfigurationProperties_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForConfigurationProperties_ARM(subject ConfigurationProperties_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ConfigurationProperties_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ConfigurationProperties_ARM instances for property testing - lazily instantiated by +// ConfigurationProperties_ARMGenerator() +var configurationProperties_ARMGenerator gopter.Gen + +// ConfigurationProperties_ARMGenerator returns a generator of ConfigurationProperties_ARM instances for property testing. +func ConfigurationProperties_ARMGenerator() gopter.Gen { + if configurationProperties_ARMGenerator != nil { + return configurationProperties_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConfigurationProperties_ARM(generators) + configurationProperties_ARMGenerator = gen.Struct(reflect.TypeOf(ConfigurationProperties_ARM{}), generators) + + return configurationProperties_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForConfigurationProperties_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForConfigurationProperties_ARM(gens map[string]gopter.Gen) { + gens["CurrentValue"] = gen.PtrOf(gen.AlphaString()) + gens["Source"] = gen.PtrOf(gen.OneConstOf(ConfigurationProperties_Source_SystemDefault, ConfigurationProperties_Source_UserOverride)) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_status_arm_types_gen.go b/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_status_arm_types_gen.go new file mode 100644 index 00000000000..7dc1597d241 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_status_arm_types_gen.go @@ -0,0 +1,58 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +type FlexibleServers_Configuration_STATUS_ARM struct { + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Properties: The properties of a configuration. + Properties *ConfigurationProperties_STATUS_ARM `json:"properties,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS_ARM `json:"systemData,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +// The properties of a configuration. +type ConfigurationProperties_STATUS_ARM struct { + // AllowedValues: Allowed values of the configuration. + AllowedValues *string `json:"allowedValues,omitempty"` + + // CurrentValue: Current value of the configuration. + CurrentValue *string `json:"currentValue,omitempty"` + + // DataType: Data type of the configuration. + DataType *string `json:"dataType,omitempty"` + + // DefaultValue: Default value of the configuration. + DefaultValue *string `json:"defaultValue,omitempty"` + + // Description: Description of the configuration. + Description *string `json:"description,omitempty"` + + // DocumentationLink: The link used to get the document from community or Azure site. + DocumentationLink *string `json:"documentationLink,omitempty"` + + // IsConfigPendingRestart: If is the configuration pending restart or not. + IsConfigPendingRestart *ConfigurationProperties_IsConfigPendingRestart_STATUS `json:"isConfigPendingRestart,omitempty"` + + // IsDynamicConfig: If is the configuration dynamic. + IsDynamicConfig *ConfigurationProperties_IsDynamicConfig_STATUS `json:"isDynamicConfig,omitempty"` + + // IsReadOnly: If is the configuration read only. + IsReadOnly *ConfigurationProperties_IsReadOnly_STATUS `json:"isReadOnly,omitempty"` + + // Source: Source of the configuration. + Source *ConfigurationProperties_Source_STATUS `json:"source,omitempty"` + + // Value: Value of the configuration. + Value *string `json:"value,omitempty"` +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_status_arm_types_gen_test.go b/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_status_arm_types_gen_test.go new file mode 100644 index 00000000000..5c3b06eb79d --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_status_arm_types_gen_test.go @@ -0,0 +1,167 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServers_Configuration_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Configuration_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Configuration_STATUS_ARM, FlexibleServers_Configuration_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Configuration_STATUS_ARM runs a test to see if a specific instance of FlexibleServers_Configuration_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Configuration_STATUS_ARM(subject FlexibleServers_Configuration_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Configuration_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Configuration_STATUS_ARM instances for property testing - lazily instantiated by +// FlexibleServers_Configuration_STATUS_ARMGenerator() +var flexibleServers_Configuration_STATUS_ARMGenerator gopter.Gen + +// FlexibleServers_Configuration_STATUS_ARMGenerator returns a generator of FlexibleServers_Configuration_STATUS_ARM instances for property testing. +// We first initialize flexibleServers_Configuration_STATUS_ARMGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_Configuration_STATUS_ARMGenerator() gopter.Gen { + if flexibleServers_Configuration_STATUS_ARMGenerator != nil { + return flexibleServers_Configuration_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_STATUS_ARM(generators) + flexibleServers_Configuration_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Configuration_STATUS_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_STATUS_ARM(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_Configuration_STATUS_ARM(generators) + flexibleServers_Configuration_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Configuration_STATUS_ARM{}), generators) + + return flexibleServers_Configuration_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_Configuration_STATUS_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_Configuration_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(ConfigurationProperties_STATUS_ARMGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUS_ARMGenerator()) +} + +func Test_ConfigurationProperties_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ConfigurationProperties_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForConfigurationProperties_STATUS_ARM, ConfigurationProperties_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForConfigurationProperties_STATUS_ARM runs a test to see if a specific instance of ConfigurationProperties_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForConfigurationProperties_STATUS_ARM(subject ConfigurationProperties_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ConfigurationProperties_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ConfigurationProperties_STATUS_ARM instances for property testing - lazily instantiated by +// ConfigurationProperties_STATUS_ARMGenerator() +var configurationProperties_STATUS_ARMGenerator gopter.Gen + +// ConfigurationProperties_STATUS_ARMGenerator returns a generator of ConfigurationProperties_STATUS_ARM instances for property testing. +func ConfigurationProperties_STATUS_ARMGenerator() gopter.Gen { + if configurationProperties_STATUS_ARMGenerator != nil { + return configurationProperties_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForConfigurationProperties_STATUS_ARM(generators) + configurationProperties_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(ConfigurationProperties_STATUS_ARM{}), generators) + + return configurationProperties_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForConfigurationProperties_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForConfigurationProperties_STATUS_ARM(gens map[string]gopter.Gen) { + gens["AllowedValues"] = gen.PtrOf(gen.AlphaString()) + gens["CurrentValue"] = gen.PtrOf(gen.AlphaString()) + gens["DataType"] = gen.PtrOf(gen.AlphaString()) + gens["DefaultValue"] = gen.PtrOf(gen.AlphaString()) + gens["Description"] = gen.PtrOf(gen.AlphaString()) + gens["DocumentationLink"] = gen.PtrOf(gen.AlphaString()) + gens["IsConfigPendingRestart"] = gen.PtrOf(gen.OneConstOf(ConfigurationProperties_IsConfigPendingRestart_STATUS_False, ConfigurationProperties_IsConfigPendingRestart_STATUS_True)) + gens["IsDynamicConfig"] = gen.PtrOf(gen.OneConstOf(ConfigurationProperties_IsDynamicConfig_STATUS_False, ConfigurationProperties_IsDynamicConfig_STATUS_True)) + gens["IsReadOnly"] = gen.PtrOf(gen.OneConstOf(ConfigurationProperties_IsReadOnly_STATUS_False, ConfigurationProperties_IsReadOnly_STATUS_True)) + gens["Source"] = gen.PtrOf(gen.OneConstOf(ConfigurationProperties_Source_STATUS_SystemDefault, ConfigurationProperties_Source_STATUS_UserOverride)) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_types_gen.go b/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_types_gen.go new file mode 100644 index 00000000000..ced048802a9 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_types_gen.go @@ -0,0 +1,1088 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "fmt" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" + "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" +) + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-06-30/Configurations.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} +type FlexibleServersConfiguration struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FlexibleServers_Configuration_Spec `json:"spec,omitempty"` + Status FlexibleServers_Configuration_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &FlexibleServersConfiguration{} + +// GetConditions returns the conditions of the resource +func (configuration *FlexibleServersConfiguration) GetConditions() conditions.Conditions { + return configuration.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (configuration *FlexibleServersConfiguration) SetConditions(conditions conditions.Conditions) { + configuration.Status.Conditions = conditions +} + +var _ conversion.Convertible = &FlexibleServersConfiguration{} + +// ConvertFrom populates our FlexibleServersConfiguration from the provided hub FlexibleServersConfiguration +func (configuration *FlexibleServersConfiguration) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*v20230630s.FlexibleServersConfiguration) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersConfiguration but received %T instead", hub) + } + + return configuration.AssignProperties_From_FlexibleServersConfiguration(source) +} + +// ConvertTo populates the provided hub FlexibleServersConfiguration from our FlexibleServersConfiguration +func (configuration *FlexibleServersConfiguration) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*v20230630s.FlexibleServersConfiguration) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersConfiguration but received %T instead", hub) + } + + return configuration.AssignProperties_To_FlexibleServersConfiguration(destination) +} + +// +kubebuilder:webhook:path=/mutate-dbformysql-azure-com-v1api20230630-flexibleserversconfiguration,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=dbformysql.azure.com,resources=flexibleserversconfigurations,verbs=create;update,versions=v1api20230630,name=default.v1api20230630.flexibleserversconfigurations.dbformysql.azure.com,admissionReviewVersions=v1 + +var _ admission.Defaulter = &FlexibleServersConfiguration{} + +// Default applies defaults to the FlexibleServersConfiguration resource +func (configuration *FlexibleServersConfiguration) Default() { + configuration.defaultImpl() + var temp any = configuration + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + runtimeDefaulter.CustomDefault() + } +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (configuration *FlexibleServersConfiguration) defaultAzureName() { + if configuration.Spec.AzureName == "" { + configuration.Spec.AzureName = configuration.Name + } +} + +// defaultImpl applies the code generated defaults to the FlexibleServersConfiguration resource +func (configuration *FlexibleServersConfiguration) defaultImpl() { configuration.defaultAzureName() } + +var _ genruntime.ImportableResource = &FlexibleServersConfiguration{} + +// InitializeSpec initializes the spec for this resource from the given status +func (configuration *FlexibleServersConfiguration) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*FlexibleServers_Configuration_STATUS); ok { + return configuration.Spec.Initialize_From_FlexibleServers_Configuration_STATUS(s) + } + + return fmt.Errorf("expected Status of type FlexibleServers_Configuration_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesResource = &FlexibleServersConfiguration{} + +// AzureName returns the Azure name of the resource +func (configuration *FlexibleServersConfiguration) AzureName() string { + return configuration.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2023-06-30" +func (configuration FlexibleServersConfiguration) GetAPIVersion() string { + return string(APIVersion_Value) +} + +// GetResourceScope returns the scope of the resource +func (configuration *FlexibleServersConfiguration) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (configuration *FlexibleServersConfiguration) GetSpec() genruntime.ConvertibleSpec { + return &configuration.Spec +} + +// GetStatus returns the status of this resource +func (configuration *FlexibleServersConfiguration) GetStatus() genruntime.ConvertibleStatus { + return &configuration.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (configuration *FlexibleServersConfiguration) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.DBforMySQL/flexibleServers/configurations" +func (configuration *FlexibleServersConfiguration) GetType() string { + return "Microsoft.DBforMySQL/flexibleServers/configurations" +} + +// NewEmptyStatus returns a new empty (blank) status +func (configuration *FlexibleServersConfiguration) NewEmptyStatus() genruntime.ConvertibleStatus { + return &FlexibleServers_Configuration_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (configuration *FlexibleServersConfiguration) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(configuration.Spec) + return configuration.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (configuration *FlexibleServersConfiguration) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*FlexibleServers_Configuration_STATUS); ok { + configuration.Status = *st + return nil + } + + // Convert status to required version + var st FlexibleServers_Configuration_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + configuration.Status = st + return nil +} + +// +kubebuilder:webhook:path=/validate-dbformysql-azure-com-v1api20230630-flexibleserversconfiguration,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=dbformysql.azure.com,resources=flexibleserversconfigurations,verbs=create;update,versions=v1api20230630,name=validate.v1api20230630.flexibleserversconfigurations.dbformysql.azure.com,admissionReviewVersions=v1 + +var _ admission.Validator = &FlexibleServersConfiguration{} + +// ValidateCreate validates the creation of the resource +func (configuration *FlexibleServersConfiguration) ValidateCreate() (admission.Warnings, error) { + validations := configuration.createValidations() + var temp any = configuration + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(validations) +} + +// ValidateDelete validates the deletion of the resource +func (configuration *FlexibleServersConfiguration) ValidateDelete() (admission.Warnings, error) { + validations := configuration.deleteValidations() + var temp any = configuration + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(validations) +} + +// ValidateUpdate validates an update of the resource +func (configuration *FlexibleServersConfiguration) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { + validations := configuration.updateValidations() + var temp any = configuration + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.UpdateValidations()...) + } + return genruntime.ValidateUpdate(old, validations) +} + +// createValidations validates the creation of the resource +func (configuration *FlexibleServersConfiguration) createValidations() []func() (admission.Warnings, error) { + return []func() (admission.Warnings, error){configuration.validateResourceReferences, configuration.validateOwnerReference} +} + +// deleteValidations validates the deletion of the resource +func (configuration *FlexibleServersConfiguration) deleteValidations() []func() (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (configuration *FlexibleServersConfiguration) updateValidations() []func(old runtime.Object) (admission.Warnings, error) { + return []func(old runtime.Object) (admission.Warnings, error){ + func(old runtime.Object) (admission.Warnings, error) { + return configuration.validateResourceReferences() + }, + configuration.validateWriteOnceProperties, + func(old runtime.Object) (admission.Warnings, error) { + return configuration.validateOwnerReference() + }, + } +} + +// validateOwnerReference validates the owner field +func (configuration *FlexibleServersConfiguration) validateOwnerReference() (admission.Warnings, error) { + return genruntime.ValidateOwner(configuration) +} + +// validateResourceReferences validates all resource references +func (configuration *FlexibleServersConfiguration) validateResourceReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&configuration.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (configuration *FlexibleServersConfiguration) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { + oldObj, ok := old.(*FlexibleServersConfiguration) + if !ok { + return nil, nil + } + + return genruntime.ValidateWriteOnceProperties(oldObj, configuration) +} + +// AssignProperties_From_FlexibleServersConfiguration populates our FlexibleServersConfiguration from the provided source FlexibleServersConfiguration +func (configuration *FlexibleServersConfiguration) AssignProperties_From_FlexibleServersConfiguration(source *v20230630s.FlexibleServersConfiguration) error { + + // ObjectMeta + configuration.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec FlexibleServers_Configuration_Spec + err := spec.AssignProperties_From_FlexibleServers_Configuration_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_Configuration_Spec() to populate field Spec") + } + configuration.Spec = spec + + // Status + var status FlexibleServers_Configuration_STATUS + err = status.AssignProperties_From_FlexibleServers_Configuration_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_Configuration_STATUS() to populate field Status") + } + configuration.Status = status + + // No error + return nil +} + +// AssignProperties_To_FlexibleServersConfiguration populates the provided destination FlexibleServersConfiguration from our FlexibleServersConfiguration +func (configuration *FlexibleServersConfiguration) AssignProperties_To_FlexibleServersConfiguration(destination *v20230630s.FlexibleServersConfiguration) error { + + // ObjectMeta + destination.ObjectMeta = *configuration.ObjectMeta.DeepCopy() + + // Spec + var spec v20230630s.FlexibleServers_Configuration_Spec + err := configuration.Spec.AssignProperties_To_FlexibleServers_Configuration_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_Configuration_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status v20230630s.FlexibleServers_Configuration_STATUS + err = configuration.Status.AssignProperties_To_FlexibleServers_Configuration_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_Configuration_STATUS() to populate field Status") + } + destination.Status = status + + // No error + return nil +} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (configuration *FlexibleServersConfiguration) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: configuration.Spec.OriginalVersion(), + Kind: "FlexibleServersConfiguration", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-06-30/Configurations.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} +type FlexibleServersConfigurationList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FlexibleServersConfiguration `json:"items"` +} + +type FlexibleServers_Configuration_Spec struct { + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + + // CurrentValue: Current value of the configuration. + CurrentValue *string `json:"currentValue,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a dbformysql.azure.com/FlexibleServer resource + Owner *genruntime.KnownResourceReference `group:"dbformysql.azure.com" json:"owner,omitempty" kind:"FlexibleServer"` + + // Source: Source of the configuration. + Source *ConfigurationProperties_Source `json:"source,omitempty"` + + // Value: Value of the configuration. + Value *string `json:"value,omitempty"` +} + +var _ genruntime.ARMTransformer = &FlexibleServers_Configuration_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (configuration *FlexibleServers_Configuration_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if configuration == nil { + return nil, nil + } + result := &FlexibleServers_Configuration_Spec_ARM{} + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if configuration.CurrentValue != nil || + configuration.Source != nil || + configuration.Value != nil { + result.Properties = &ConfigurationProperties_ARM{} + } + if configuration.CurrentValue != nil { + currentValue := *configuration.CurrentValue + result.Properties.CurrentValue = ¤tValue + } + if configuration.Source != nil { + source := *configuration.Source + result.Properties.Source = &source + } + if configuration.Value != nil { + value := *configuration.Value + result.Properties.Value = &value + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *FlexibleServers_Configuration_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &FlexibleServers_Configuration_Spec_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *FlexibleServers_Configuration_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(FlexibleServers_Configuration_Spec_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected FlexibleServers_Configuration_Spec_ARM, got %T", armInput) + } + + // Set property "AzureName": + configuration.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // Set property "CurrentValue": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.CurrentValue != nil { + currentValue := *typedInput.Properties.CurrentValue + configuration.CurrentValue = ¤tValue + } + } + + // Set property "Owner": + configuration.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // Set property "Source": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Source != nil { + source := *typedInput.Properties.Source + configuration.Source = &source + } + } + + // Set property "Value": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Value != nil { + value := *typedInput.Properties.Value + configuration.Value = &value + } + } + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &FlexibleServers_Configuration_Spec{} + +// ConvertSpecFrom populates our FlexibleServers_Configuration_Spec from the provided source +func (configuration *FlexibleServers_Configuration_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*v20230630s.FlexibleServers_Configuration_Spec) + if ok { + // Populate our instance from source + return configuration.AssignProperties_From_FlexibleServers_Configuration_Spec(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_Configuration_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = configuration.AssignProperties_From_FlexibleServers_Configuration_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our FlexibleServers_Configuration_Spec +func (configuration *FlexibleServers_Configuration_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*v20230630s.FlexibleServers_Configuration_Spec) + if ok { + // Populate destination from our instance + return configuration.AssignProperties_To_FlexibleServers_Configuration_Spec(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_Configuration_Spec{} + err := configuration.AssignProperties_To_FlexibleServers_Configuration_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_FlexibleServers_Configuration_Spec populates our FlexibleServers_Configuration_Spec from the provided source FlexibleServers_Configuration_Spec +func (configuration *FlexibleServers_Configuration_Spec) AssignProperties_From_FlexibleServers_Configuration_Spec(source *v20230630s.FlexibleServers_Configuration_Spec) error { + + // AzureName + configuration.AzureName = source.AzureName + + // CurrentValue + configuration.CurrentValue = genruntime.ClonePointerToString(source.CurrentValue) + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + configuration.Owner = &owner + } else { + configuration.Owner = nil + } + + // Source + if source.Source != nil { + sourceValue := *source.Source + sourceTemp := genruntime.ToEnum(sourceValue, configurationProperties_Source_Values) + configuration.Source = &sourceTemp + } else { + configuration.Source = nil + } + + // Value + configuration.Value = genruntime.ClonePointerToString(source.Value) + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_Configuration_Spec populates the provided destination FlexibleServers_Configuration_Spec from our FlexibleServers_Configuration_Spec +func (configuration *FlexibleServers_Configuration_Spec) AssignProperties_To_FlexibleServers_Configuration_Spec(destination *v20230630s.FlexibleServers_Configuration_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureName + destination.AzureName = configuration.AzureName + + // CurrentValue + destination.CurrentValue = genruntime.ClonePointerToString(configuration.CurrentValue) + + // OriginalVersion + destination.OriginalVersion = configuration.OriginalVersion() + + // Owner + if configuration.Owner != nil { + owner := configuration.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // Source + if configuration.Source != nil { + source := string(*configuration.Source) + destination.Source = &source + } else { + destination.Source = nil + } + + // Value + destination.Value = genruntime.ClonePointerToString(configuration.Value) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_FlexibleServers_Configuration_STATUS populates our FlexibleServers_Configuration_Spec from the provided source FlexibleServers_Configuration_STATUS +func (configuration *FlexibleServers_Configuration_Spec) Initialize_From_FlexibleServers_Configuration_STATUS(source *FlexibleServers_Configuration_STATUS) error { + + // CurrentValue + configuration.CurrentValue = genruntime.ClonePointerToString(source.CurrentValue) + + // Source + if source.Source != nil { + sourceAsConfigurationProperties_Source := ConfigurationProperties_Source(*source.Source) + configuration.Source = &sourceAsConfigurationProperties_Source + } else { + configuration.Source = nil + } + + // Value + configuration.Value = genruntime.ClonePointerToString(source.Value) + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (configuration *FlexibleServers_Configuration_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (configuration *FlexibleServers_Configuration_Spec) SetAzureName(azureName string) { + configuration.AzureName = azureName +} + +type FlexibleServers_Configuration_STATUS struct { + // AllowedValues: Allowed values of the configuration. + AllowedValues *string `json:"allowedValues,omitempty"` + + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // CurrentValue: Current value of the configuration. + CurrentValue *string `json:"currentValue,omitempty"` + + // DataType: Data type of the configuration. + DataType *string `json:"dataType,omitempty"` + + // DefaultValue: Default value of the configuration. + DefaultValue *string `json:"defaultValue,omitempty"` + + // Description: Description of the configuration. + Description *string `json:"description,omitempty"` + + // DocumentationLink: The link used to get the document from community or Azure site. + DocumentationLink *string `json:"documentationLink,omitempty"` + + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // IsConfigPendingRestart: If is the configuration pending restart or not. + IsConfigPendingRestart *ConfigurationProperties_IsConfigPendingRestart_STATUS `json:"isConfigPendingRestart,omitempty"` + + // IsDynamicConfig: If is the configuration dynamic. + IsDynamicConfig *ConfigurationProperties_IsDynamicConfig_STATUS `json:"isDynamicConfig,omitempty"` + + // IsReadOnly: If is the configuration read only. + IsReadOnly *ConfigurationProperties_IsReadOnly_STATUS `json:"isReadOnly,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Source: Source of the configuration. + Source *ConfigurationProperties_Source_STATUS `json:"source,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` + + // Value: Value of the configuration. + Value *string `json:"value,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &FlexibleServers_Configuration_STATUS{} + +// ConvertStatusFrom populates our FlexibleServers_Configuration_STATUS from the provided source +func (configuration *FlexibleServers_Configuration_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*v20230630s.FlexibleServers_Configuration_STATUS) + if ok { + // Populate our instance from source + return configuration.AssignProperties_From_FlexibleServers_Configuration_STATUS(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_Configuration_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = configuration.AssignProperties_From_FlexibleServers_Configuration_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our FlexibleServers_Configuration_STATUS +func (configuration *FlexibleServers_Configuration_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*v20230630s.FlexibleServers_Configuration_STATUS) + if ok { + // Populate destination from our instance + return configuration.AssignProperties_To_FlexibleServers_Configuration_STATUS(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_Configuration_STATUS{} + err := configuration.AssignProperties_To_FlexibleServers_Configuration_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &FlexibleServers_Configuration_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (configuration *FlexibleServers_Configuration_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &FlexibleServers_Configuration_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (configuration *FlexibleServers_Configuration_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(FlexibleServers_Configuration_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected FlexibleServers_Configuration_STATUS_ARM, got %T", armInput) + } + + // Set property "AllowedValues": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.AllowedValues != nil { + allowedValues := *typedInput.Properties.AllowedValues + configuration.AllowedValues = &allowedValues + } + } + + // no assignment for property "Conditions" + + // Set property "CurrentValue": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.CurrentValue != nil { + currentValue := *typedInput.Properties.CurrentValue + configuration.CurrentValue = ¤tValue + } + } + + // Set property "DataType": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.DataType != nil { + dataType := *typedInput.Properties.DataType + configuration.DataType = &dataType + } + } + + // Set property "DefaultValue": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.DefaultValue != nil { + defaultValue := *typedInput.Properties.DefaultValue + configuration.DefaultValue = &defaultValue + } + } + + // Set property "Description": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Description != nil { + description := *typedInput.Properties.Description + configuration.Description = &description + } + } + + // Set property "DocumentationLink": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.DocumentationLink != nil { + documentationLink := *typedInput.Properties.DocumentationLink + configuration.DocumentationLink = &documentationLink + } + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + configuration.Id = &id + } + + // Set property "IsConfigPendingRestart": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.IsConfigPendingRestart != nil { + isConfigPendingRestart := *typedInput.Properties.IsConfigPendingRestart + configuration.IsConfigPendingRestart = &isConfigPendingRestart + } + } + + // Set property "IsDynamicConfig": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.IsDynamicConfig != nil { + isDynamicConfig := *typedInput.Properties.IsDynamicConfig + configuration.IsDynamicConfig = &isDynamicConfig + } + } + + // Set property "IsReadOnly": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.IsReadOnly != nil { + isReadOnly := *typedInput.Properties.IsReadOnly + configuration.IsReadOnly = &isReadOnly + } + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + configuration.Name = &name + } + + // Set property "Source": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Source != nil { + source := *typedInput.Properties.Source + configuration.Source = &source + } + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + configuration.SystemData = &systemData + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + configuration.Type = &typeVar + } + + // Set property "Value": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Value != nil { + value := *typedInput.Properties.Value + configuration.Value = &value + } + } + + // No error + return nil +} + +// AssignProperties_From_FlexibleServers_Configuration_STATUS populates our FlexibleServers_Configuration_STATUS from the provided source FlexibleServers_Configuration_STATUS +func (configuration *FlexibleServers_Configuration_STATUS) AssignProperties_From_FlexibleServers_Configuration_STATUS(source *v20230630s.FlexibleServers_Configuration_STATUS) error { + + // AllowedValues + configuration.AllowedValues = genruntime.ClonePointerToString(source.AllowedValues) + + // Conditions + configuration.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // CurrentValue + configuration.CurrentValue = genruntime.ClonePointerToString(source.CurrentValue) + + // DataType + configuration.DataType = genruntime.ClonePointerToString(source.DataType) + + // DefaultValue + configuration.DefaultValue = genruntime.ClonePointerToString(source.DefaultValue) + + // Description + configuration.Description = genruntime.ClonePointerToString(source.Description) + + // DocumentationLink + configuration.DocumentationLink = genruntime.ClonePointerToString(source.DocumentationLink) + + // Id + configuration.Id = genruntime.ClonePointerToString(source.Id) + + // IsConfigPendingRestart + if source.IsConfigPendingRestart != nil { + isConfigPendingRestart := *source.IsConfigPendingRestart + isConfigPendingRestartTemp := genruntime.ToEnum(isConfigPendingRestart, configurationProperties_IsConfigPendingRestart_STATUS_Values) + configuration.IsConfigPendingRestart = &isConfigPendingRestartTemp + } else { + configuration.IsConfigPendingRestart = nil + } + + // IsDynamicConfig + if source.IsDynamicConfig != nil { + isDynamicConfig := *source.IsDynamicConfig + isDynamicConfigTemp := genruntime.ToEnum(isDynamicConfig, configurationProperties_IsDynamicConfig_STATUS_Values) + configuration.IsDynamicConfig = &isDynamicConfigTemp + } else { + configuration.IsDynamicConfig = nil + } + + // IsReadOnly + if source.IsReadOnly != nil { + isReadOnly := *source.IsReadOnly + isReadOnlyTemp := genruntime.ToEnum(isReadOnly, configurationProperties_IsReadOnly_STATUS_Values) + configuration.IsReadOnly = &isReadOnlyTemp + } else { + configuration.IsReadOnly = nil + } + + // Name + configuration.Name = genruntime.ClonePointerToString(source.Name) + + // Source + if source.Source != nil { + sourceValue := *source.Source + sourceTemp := genruntime.ToEnum(sourceValue, configurationProperties_Source_STATUS_Values) + configuration.Source = &sourceTemp + } else { + configuration.Source = nil + } + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + configuration.SystemData = &systemDatum + } else { + configuration.SystemData = nil + } + + // Type + configuration.Type = genruntime.ClonePointerToString(source.Type) + + // Value + configuration.Value = genruntime.ClonePointerToString(source.Value) + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_Configuration_STATUS populates the provided destination FlexibleServers_Configuration_STATUS from our FlexibleServers_Configuration_STATUS +func (configuration *FlexibleServers_Configuration_STATUS) AssignProperties_To_FlexibleServers_Configuration_STATUS(destination *v20230630s.FlexibleServers_Configuration_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AllowedValues + destination.AllowedValues = genruntime.ClonePointerToString(configuration.AllowedValues) + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(configuration.Conditions) + + // CurrentValue + destination.CurrentValue = genruntime.ClonePointerToString(configuration.CurrentValue) + + // DataType + destination.DataType = genruntime.ClonePointerToString(configuration.DataType) + + // DefaultValue + destination.DefaultValue = genruntime.ClonePointerToString(configuration.DefaultValue) + + // Description + destination.Description = genruntime.ClonePointerToString(configuration.Description) + + // DocumentationLink + destination.DocumentationLink = genruntime.ClonePointerToString(configuration.DocumentationLink) + + // Id + destination.Id = genruntime.ClonePointerToString(configuration.Id) + + // IsConfigPendingRestart + if configuration.IsConfigPendingRestart != nil { + isConfigPendingRestart := string(*configuration.IsConfigPendingRestart) + destination.IsConfigPendingRestart = &isConfigPendingRestart + } else { + destination.IsConfigPendingRestart = nil + } + + // IsDynamicConfig + if configuration.IsDynamicConfig != nil { + isDynamicConfig := string(*configuration.IsDynamicConfig) + destination.IsDynamicConfig = &isDynamicConfig + } else { + destination.IsDynamicConfig = nil + } + + // IsReadOnly + if configuration.IsReadOnly != nil { + isReadOnly := string(*configuration.IsReadOnly) + destination.IsReadOnly = &isReadOnly + } else { + destination.IsReadOnly = nil + } + + // Name + destination.Name = genruntime.ClonePointerToString(configuration.Name) + + // Source + if configuration.Source != nil { + source := string(*configuration.Source) + destination.Source = &source + } else { + destination.Source = nil + } + + // SystemData + if configuration.SystemData != nil { + var systemDatum v20230630s.SystemData_STATUS + err := configuration.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(configuration.Type) + + // Value + destination.Value = genruntime.ClonePointerToString(configuration.Value) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +type ConfigurationProperties_IsConfigPendingRestart_STATUS string + +const ( + ConfigurationProperties_IsConfigPendingRestart_STATUS_False = ConfigurationProperties_IsConfigPendingRestart_STATUS("False") + ConfigurationProperties_IsConfigPendingRestart_STATUS_True = ConfigurationProperties_IsConfigPendingRestart_STATUS("True") +) + +// Mapping from string to ConfigurationProperties_IsConfigPendingRestart_STATUS +var configurationProperties_IsConfigPendingRestart_STATUS_Values = map[string]ConfigurationProperties_IsConfigPendingRestart_STATUS{ + "false": ConfigurationProperties_IsConfigPendingRestart_STATUS_False, + "true": ConfigurationProperties_IsConfigPendingRestart_STATUS_True, +} + +type ConfigurationProperties_IsDynamicConfig_STATUS string + +const ( + ConfigurationProperties_IsDynamicConfig_STATUS_False = ConfigurationProperties_IsDynamicConfig_STATUS("False") + ConfigurationProperties_IsDynamicConfig_STATUS_True = ConfigurationProperties_IsDynamicConfig_STATUS("True") +) + +// Mapping from string to ConfigurationProperties_IsDynamicConfig_STATUS +var configurationProperties_IsDynamicConfig_STATUS_Values = map[string]ConfigurationProperties_IsDynamicConfig_STATUS{ + "false": ConfigurationProperties_IsDynamicConfig_STATUS_False, + "true": ConfigurationProperties_IsDynamicConfig_STATUS_True, +} + +type ConfigurationProperties_IsReadOnly_STATUS string + +const ( + ConfigurationProperties_IsReadOnly_STATUS_False = ConfigurationProperties_IsReadOnly_STATUS("False") + ConfigurationProperties_IsReadOnly_STATUS_True = ConfigurationProperties_IsReadOnly_STATUS("True") +) + +// Mapping from string to ConfigurationProperties_IsReadOnly_STATUS +var configurationProperties_IsReadOnly_STATUS_Values = map[string]ConfigurationProperties_IsReadOnly_STATUS{ + "false": ConfigurationProperties_IsReadOnly_STATUS_False, + "true": ConfigurationProperties_IsReadOnly_STATUS_True, +} + +// +kubebuilder:validation:Enum={"system-default","user-override"} +type ConfigurationProperties_Source string + +const ( + ConfigurationProperties_Source_SystemDefault = ConfigurationProperties_Source("system-default") + ConfigurationProperties_Source_UserOverride = ConfigurationProperties_Source("user-override") +) + +// Mapping from string to ConfigurationProperties_Source +var configurationProperties_Source_Values = map[string]ConfigurationProperties_Source{ + "system-default": ConfigurationProperties_Source_SystemDefault, + "user-override": ConfigurationProperties_Source_UserOverride, +} + +type ConfigurationProperties_Source_STATUS string + +const ( + ConfigurationProperties_Source_STATUS_SystemDefault = ConfigurationProperties_Source_STATUS("system-default") + ConfigurationProperties_Source_STATUS_UserOverride = ConfigurationProperties_Source_STATUS("user-override") +) + +// Mapping from string to ConfigurationProperties_Source_STATUS +var configurationProperties_Source_STATUS_Values = map[string]ConfigurationProperties_Source_STATUS{ + "system-default": ConfigurationProperties_Source_STATUS_SystemDefault, + "user-override": ConfigurationProperties_Source_STATUS_UserOverride, +} + +func init() { + SchemeBuilder.Register(&FlexibleServersConfiguration{}, &FlexibleServersConfigurationList{}) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_types_gen_test.go b/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_types_gen_test.go new file mode 100644 index 00000000000..4aea26696f0 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_configuration_types_gen_test.go @@ -0,0 +1,402 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "encoding/json" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServersConfiguration_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersConfiguration to hub returns original", + prop.ForAll(RunResourceConversionTestForFlexibleServersConfiguration, FlexibleServersConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForFlexibleServersConfiguration tests if a specific instance of FlexibleServersConfiguration round trips to the hub storage version and back losslessly +func RunResourceConversionTestForFlexibleServersConfiguration(subject FlexibleServersConfiguration) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub v20230630s.FlexibleServersConfiguration + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual FlexibleServersConfiguration + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServersConfiguration_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersConfiguration to FlexibleServersConfiguration via AssignProperties_To_FlexibleServersConfiguration & AssignProperties_From_FlexibleServersConfiguration returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServersConfiguration, FlexibleServersConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServersConfiguration tests if a specific instance of FlexibleServersConfiguration can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServersConfiguration(subject FlexibleServersConfiguration) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServersConfiguration + err := copied.AssignProperties_To_FlexibleServersConfiguration(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServersConfiguration + err = actual.AssignProperties_From_FlexibleServersConfiguration(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServersConfiguration_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServersConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServersConfiguration, FlexibleServersConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServersConfiguration runs a test to see if a specific instance of FlexibleServersConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServersConfiguration(subject FlexibleServersConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServersConfiguration + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServersConfiguration instances for property testing - lazily instantiated by +// FlexibleServersConfigurationGenerator() +var flexibleServersConfigurationGenerator gopter.Gen + +// FlexibleServersConfigurationGenerator returns a generator of FlexibleServersConfiguration instances for property testing. +func FlexibleServersConfigurationGenerator() gopter.Gen { + if flexibleServersConfigurationGenerator != nil { + return flexibleServersConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForFlexibleServersConfiguration(generators) + flexibleServersConfigurationGenerator = gen.Struct(reflect.TypeOf(FlexibleServersConfiguration{}), generators) + + return flexibleServersConfigurationGenerator +} + +// AddRelatedPropertyGeneratorsForFlexibleServersConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServersConfiguration(gens map[string]gopter.Gen) { + gens["Spec"] = FlexibleServers_Configuration_SpecGenerator() + gens["Status"] = FlexibleServers_Configuration_STATUSGenerator() +} + +func Test_FlexibleServers_Configuration_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_Configuration_Spec to FlexibleServers_Configuration_Spec via AssignProperties_To_FlexibleServers_Configuration_Spec & AssignProperties_From_FlexibleServers_Configuration_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_Configuration_Spec, FlexibleServers_Configuration_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_Configuration_Spec tests if a specific instance of FlexibleServers_Configuration_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_Configuration_Spec(subject FlexibleServers_Configuration_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_Configuration_Spec + err := copied.AssignProperties_To_FlexibleServers_Configuration_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_Configuration_Spec + err = actual.AssignProperties_From_FlexibleServers_Configuration_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServers_Configuration_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Configuration_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Configuration_Spec, FlexibleServers_Configuration_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Configuration_Spec runs a test to see if a specific instance of FlexibleServers_Configuration_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Configuration_Spec(subject FlexibleServers_Configuration_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Configuration_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Configuration_Spec instances for property testing - lazily instantiated by +// FlexibleServers_Configuration_SpecGenerator() +var flexibleServers_Configuration_SpecGenerator gopter.Gen + +// FlexibleServers_Configuration_SpecGenerator returns a generator of FlexibleServers_Configuration_Spec instances for property testing. +func FlexibleServers_Configuration_SpecGenerator() gopter.Gen { + if flexibleServers_Configuration_SpecGenerator != nil { + return flexibleServers_Configuration_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_Spec(generators) + flexibleServers_Configuration_SpecGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Configuration_Spec{}), generators) + + return flexibleServers_Configuration_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["CurrentValue"] = gen.PtrOf(gen.AlphaString()) + gens["Source"] = gen.PtrOf(gen.OneConstOf(ConfigurationProperties_Source_SystemDefault, ConfigurationProperties_Source_UserOverride)) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_FlexibleServers_Configuration_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_Configuration_STATUS to FlexibleServers_Configuration_STATUS via AssignProperties_To_FlexibleServers_Configuration_STATUS & AssignProperties_From_FlexibleServers_Configuration_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_Configuration_STATUS, FlexibleServers_Configuration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_Configuration_STATUS tests if a specific instance of FlexibleServers_Configuration_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_Configuration_STATUS(subject FlexibleServers_Configuration_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_Configuration_STATUS + err := copied.AssignProperties_To_FlexibleServers_Configuration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_Configuration_STATUS + err = actual.AssignProperties_From_FlexibleServers_Configuration_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServers_Configuration_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Configuration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Configuration_STATUS, FlexibleServers_Configuration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Configuration_STATUS runs a test to see if a specific instance of FlexibleServers_Configuration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Configuration_STATUS(subject FlexibleServers_Configuration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Configuration_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Configuration_STATUS instances for property testing - lazily instantiated by +// FlexibleServers_Configuration_STATUSGenerator() +var flexibleServers_Configuration_STATUSGenerator gopter.Gen + +// FlexibleServers_Configuration_STATUSGenerator returns a generator of FlexibleServers_Configuration_STATUS instances for property testing. +// We first initialize flexibleServers_Configuration_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_Configuration_STATUSGenerator() gopter.Gen { + if flexibleServers_Configuration_STATUSGenerator != nil { + return flexibleServers_Configuration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_STATUS(generators) + flexibleServers_Configuration_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Configuration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_STATUS(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_Configuration_STATUS(generators) + flexibleServers_Configuration_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Configuration_STATUS{}), generators) + + return flexibleServers_Configuration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_STATUS(gens map[string]gopter.Gen) { + gens["AllowedValues"] = gen.PtrOf(gen.AlphaString()) + gens["CurrentValue"] = gen.PtrOf(gen.AlphaString()) + gens["DataType"] = gen.PtrOf(gen.AlphaString()) + gens["DefaultValue"] = gen.PtrOf(gen.AlphaString()) + gens["Description"] = gen.PtrOf(gen.AlphaString()) + gens["DocumentationLink"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["IsConfigPendingRestart"] = gen.PtrOf(gen.OneConstOf(ConfigurationProperties_IsConfigPendingRestart_STATUS_False, ConfigurationProperties_IsConfigPendingRestart_STATUS_True)) + gens["IsDynamicConfig"] = gen.PtrOf(gen.OneConstOf(ConfigurationProperties_IsDynamicConfig_STATUS_False, ConfigurationProperties_IsDynamicConfig_STATUS_True)) + gens["IsReadOnly"] = gen.PtrOf(gen.OneConstOf(ConfigurationProperties_IsReadOnly_STATUS_False, ConfigurationProperties_IsReadOnly_STATUS_True)) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Source"] = gen.PtrOf(gen.OneConstOf(ConfigurationProperties_Source_STATUS_SystemDefault, ConfigurationProperties_Source_STATUS_UserOverride)) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_Configuration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_Configuration_STATUS(gens map[string]gopter.Gen) { + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_database_spec_arm_types_gen.go b/v2/api/dbformysql/v1api20230630/flexible_servers_database_spec_arm_types_gen.go new file mode 100644 index 00000000000..2b3fe09df7c --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_database_spec_arm_types_gen.go @@ -0,0 +1,39 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type FlexibleServers_Database_Spec_ARM struct { + Name string `json:"name,omitempty"` + + // Properties: The properties of a database. + Properties *DatabaseProperties_ARM `json:"properties,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &FlexibleServers_Database_Spec_ARM{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2023-06-30" +func (database FlexibleServers_Database_Spec_ARM) GetAPIVersion() string { + return string(APIVersion_Value) +} + +// GetName returns the Name of the resource +func (database *FlexibleServers_Database_Spec_ARM) GetName() string { + return database.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.DBforMySQL/flexibleServers/databases" +func (database *FlexibleServers_Database_Spec_ARM) GetType() string { + return "Microsoft.DBforMySQL/flexibleServers/databases" +} + +// The properties of a database. +type DatabaseProperties_ARM struct { + // Charset: The charset of the database. + Charset *string `json:"charset,omitempty"` + + // Collation: The collation of the database. + Collation *string `json:"collation,omitempty"` +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_database_spec_arm_types_gen_test.go b/v2/api/dbformysql/v1api20230630/flexible_servers_database_spec_arm_types_gen_test.go new file mode 100644 index 00000000000..1df68d87b8e --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_database_spec_arm_types_gen_test.go @@ -0,0 +1,155 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServers_Database_Spec_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Database_Spec_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Database_Spec_ARM, FlexibleServers_Database_Spec_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Database_Spec_ARM runs a test to see if a specific instance of FlexibleServers_Database_Spec_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Database_Spec_ARM(subject FlexibleServers_Database_Spec_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Database_Spec_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Database_Spec_ARM instances for property testing - lazily instantiated by +// FlexibleServers_Database_Spec_ARMGenerator() +var flexibleServers_Database_Spec_ARMGenerator gopter.Gen + +// FlexibleServers_Database_Spec_ARMGenerator returns a generator of FlexibleServers_Database_Spec_ARM instances for property testing. +// We first initialize flexibleServers_Database_Spec_ARMGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_Database_Spec_ARMGenerator() gopter.Gen { + if flexibleServers_Database_Spec_ARMGenerator != nil { + return flexibleServers_Database_Spec_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Database_Spec_ARM(generators) + flexibleServers_Database_Spec_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Database_Spec_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Database_Spec_ARM(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_Database_Spec_ARM(generators) + flexibleServers_Database_Spec_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Database_Spec_ARM{}), generators) + + return flexibleServers_Database_Spec_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Database_Spec_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Database_Spec_ARM(gens map[string]gopter.Gen) { + gens["Name"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_Database_Spec_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_Database_Spec_ARM(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(DatabaseProperties_ARMGenerator()) +} + +func Test_DatabaseProperties_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DatabaseProperties_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDatabaseProperties_ARM, DatabaseProperties_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDatabaseProperties_ARM runs a test to see if a specific instance of DatabaseProperties_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForDatabaseProperties_ARM(subject DatabaseProperties_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DatabaseProperties_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DatabaseProperties_ARM instances for property testing - lazily instantiated by +// DatabaseProperties_ARMGenerator() +var databaseProperties_ARMGenerator gopter.Gen + +// DatabaseProperties_ARMGenerator returns a generator of DatabaseProperties_ARM instances for property testing. +func DatabaseProperties_ARMGenerator() gopter.Gen { + if databaseProperties_ARMGenerator != nil { + return databaseProperties_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDatabaseProperties_ARM(generators) + databaseProperties_ARMGenerator = gen.Struct(reflect.TypeOf(DatabaseProperties_ARM{}), generators) + + return databaseProperties_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForDatabaseProperties_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDatabaseProperties_ARM(gens map[string]gopter.Gen) { + gens["Charset"] = gen.PtrOf(gen.AlphaString()) + gens["Collation"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_database_status_arm_types_gen.go b/v2/api/dbformysql/v1api20230630/flexible_servers_database_status_arm_types_gen.go new file mode 100644 index 00000000000..0d7254b9ea1 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_database_status_arm_types_gen.go @@ -0,0 +1,31 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +type FlexibleServers_Database_STATUS_ARM struct { + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Properties: The properties of a database. + Properties *DatabaseProperties_STATUS_ARM `json:"properties,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS_ARM `json:"systemData,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +// The properties of a database. +type DatabaseProperties_STATUS_ARM struct { + // Charset: The charset of the database. + Charset *string `json:"charset,omitempty"` + + // Collation: The collation of the database. + Collation *string `json:"collation,omitempty"` +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_database_status_arm_types_gen_test.go b/v2/api/dbformysql/v1api20230630/flexible_servers_database_status_arm_types_gen_test.go new file mode 100644 index 00000000000..90faef38604 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_database_status_arm_types_gen_test.go @@ -0,0 +1,158 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServers_Database_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Database_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Database_STATUS_ARM, FlexibleServers_Database_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Database_STATUS_ARM runs a test to see if a specific instance of FlexibleServers_Database_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Database_STATUS_ARM(subject FlexibleServers_Database_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Database_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Database_STATUS_ARM instances for property testing - lazily instantiated by +// FlexibleServers_Database_STATUS_ARMGenerator() +var flexibleServers_Database_STATUS_ARMGenerator gopter.Gen + +// FlexibleServers_Database_STATUS_ARMGenerator returns a generator of FlexibleServers_Database_STATUS_ARM instances for property testing. +// We first initialize flexibleServers_Database_STATUS_ARMGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_Database_STATUS_ARMGenerator() gopter.Gen { + if flexibleServers_Database_STATUS_ARMGenerator != nil { + return flexibleServers_Database_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Database_STATUS_ARM(generators) + flexibleServers_Database_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Database_STATUS_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Database_STATUS_ARM(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_Database_STATUS_ARM(generators) + flexibleServers_Database_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Database_STATUS_ARM{}), generators) + + return flexibleServers_Database_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Database_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Database_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_Database_STATUS_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_Database_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(DatabaseProperties_STATUS_ARMGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUS_ARMGenerator()) +} + +func Test_DatabaseProperties_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DatabaseProperties_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDatabaseProperties_STATUS_ARM, DatabaseProperties_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDatabaseProperties_STATUS_ARM runs a test to see if a specific instance of DatabaseProperties_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForDatabaseProperties_STATUS_ARM(subject DatabaseProperties_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DatabaseProperties_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DatabaseProperties_STATUS_ARM instances for property testing - lazily instantiated by +// DatabaseProperties_STATUS_ARMGenerator() +var databaseProperties_STATUS_ARMGenerator gopter.Gen + +// DatabaseProperties_STATUS_ARMGenerator returns a generator of DatabaseProperties_STATUS_ARM instances for property testing. +func DatabaseProperties_STATUS_ARMGenerator() gopter.Gen { + if databaseProperties_STATUS_ARMGenerator != nil { + return databaseProperties_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDatabaseProperties_STATUS_ARM(generators) + databaseProperties_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(DatabaseProperties_STATUS_ARM{}), generators) + + return databaseProperties_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForDatabaseProperties_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDatabaseProperties_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Charset"] = gen.PtrOf(gen.AlphaString()) + gens["Collation"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_database_types_gen.go b/v2/api/dbformysql/v1api20230630/flexible_servers_database_types_gen.go new file mode 100644 index 00000000000..50a4047b8db --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_database_types_gen.go @@ -0,0 +1,774 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "fmt" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" + "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" +) + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-06-30/Databases.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} +type FlexibleServersDatabase struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FlexibleServers_Database_Spec `json:"spec,omitempty"` + Status FlexibleServers_Database_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &FlexibleServersDatabase{} + +// GetConditions returns the conditions of the resource +func (database *FlexibleServersDatabase) GetConditions() conditions.Conditions { + return database.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (database *FlexibleServersDatabase) SetConditions(conditions conditions.Conditions) { + database.Status.Conditions = conditions +} + +var _ conversion.Convertible = &FlexibleServersDatabase{} + +// ConvertFrom populates our FlexibleServersDatabase from the provided hub FlexibleServersDatabase +func (database *FlexibleServersDatabase) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*v20230630s.FlexibleServersDatabase) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersDatabase but received %T instead", hub) + } + + return database.AssignProperties_From_FlexibleServersDatabase(source) +} + +// ConvertTo populates the provided hub FlexibleServersDatabase from our FlexibleServersDatabase +func (database *FlexibleServersDatabase) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*v20230630s.FlexibleServersDatabase) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersDatabase but received %T instead", hub) + } + + return database.AssignProperties_To_FlexibleServersDatabase(destination) +} + +// +kubebuilder:webhook:path=/mutate-dbformysql-azure-com-v1api20230630-flexibleserversdatabase,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=dbformysql.azure.com,resources=flexibleserversdatabases,verbs=create;update,versions=v1api20230630,name=default.v1api20230630.flexibleserversdatabases.dbformysql.azure.com,admissionReviewVersions=v1 + +var _ admission.Defaulter = &FlexibleServersDatabase{} + +// Default applies defaults to the FlexibleServersDatabase resource +func (database *FlexibleServersDatabase) Default() { + database.defaultImpl() + var temp any = database + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + runtimeDefaulter.CustomDefault() + } +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (database *FlexibleServersDatabase) defaultAzureName() { + if database.Spec.AzureName == "" { + database.Spec.AzureName = database.Name + } +} + +// defaultImpl applies the code generated defaults to the FlexibleServersDatabase resource +func (database *FlexibleServersDatabase) defaultImpl() { database.defaultAzureName() } + +var _ genruntime.ImportableResource = &FlexibleServersDatabase{} + +// InitializeSpec initializes the spec for this resource from the given status +func (database *FlexibleServersDatabase) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*FlexibleServers_Database_STATUS); ok { + return database.Spec.Initialize_From_FlexibleServers_Database_STATUS(s) + } + + return fmt.Errorf("expected Status of type FlexibleServers_Database_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesResource = &FlexibleServersDatabase{} + +// AzureName returns the Azure name of the resource +func (database *FlexibleServersDatabase) AzureName() string { + return database.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2023-06-30" +func (database FlexibleServersDatabase) GetAPIVersion() string { + return string(APIVersion_Value) +} + +// GetResourceScope returns the scope of the resource +func (database *FlexibleServersDatabase) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (database *FlexibleServersDatabase) GetSpec() genruntime.ConvertibleSpec { + return &database.Spec +} + +// GetStatus returns the status of this resource +func (database *FlexibleServersDatabase) GetStatus() genruntime.ConvertibleStatus { + return &database.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (database *FlexibleServersDatabase) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.DBforMySQL/flexibleServers/databases" +func (database *FlexibleServersDatabase) GetType() string { + return "Microsoft.DBforMySQL/flexibleServers/databases" +} + +// NewEmptyStatus returns a new empty (blank) status +func (database *FlexibleServersDatabase) NewEmptyStatus() genruntime.ConvertibleStatus { + return &FlexibleServers_Database_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (database *FlexibleServersDatabase) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(database.Spec) + return database.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (database *FlexibleServersDatabase) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*FlexibleServers_Database_STATUS); ok { + database.Status = *st + return nil + } + + // Convert status to required version + var st FlexibleServers_Database_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + database.Status = st + return nil +} + +// +kubebuilder:webhook:path=/validate-dbformysql-azure-com-v1api20230630-flexibleserversdatabase,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=dbformysql.azure.com,resources=flexibleserversdatabases,verbs=create;update,versions=v1api20230630,name=validate.v1api20230630.flexibleserversdatabases.dbformysql.azure.com,admissionReviewVersions=v1 + +var _ admission.Validator = &FlexibleServersDatabase{} + +// ValidateCreate validates the creation of the resource +func (database *FlexibleServersDatabase) ValidateCreate() (admission.Warnings, error) { + validations := database.createValidations() + var temp any = database + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(validations) +} + +// ValidateDelete validates the deletion of the resource +func (database *FlexibleServersDatabase) ValidateDelete() (admission.Warnings, error) { + validations := database.deleteValidations() + var temp any = database + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(validations) +} + +// ValidateUpdate validates an update of the resource +func (database *FlexibleServersDatabase) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { + validations := database.updateValidations() + var temp any = database + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.UpdateValidations()...) + } + return genruntime.ValidateUpdate(old, validations) +} + +// createValidations validates the creation of the resource +func (database *FlexibleServersDatabase) createValidations() []func() (admission.Warnings, error) { + return []func() (admission.Warnings, error){database.validateResourceReferences, database.validateOwnerReference} +} + +// deleteValidations validates the deletion of the resource +func (database *FlexibleServersDatabase) deleteValidations() []func() (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (database *FlexibleServersDatabase) updateValidations() []func(old runtime.Object) (admission.Warnings, error) { + return []func(old runtime.Object) (admission.Warnings, error){ + func(old runtime.Object) (admission.Warnings, error) { + return database.validateResourceReferences() + }, + database.validateWriteOnceProperties, + func(old runtime.Object) (admission.Warnings, error) { + return database.validateOwnerReference() + }, + } +} + +// validateOwnerReference validates the owner field +func (database *FlexibleServersDatabase) validateOwnerReference() (admission.Warnings, error) { + return genruntime.ValidateOwner(database) +} + +// validateResourceReferences validates all resource references +func (database *FlexibleServersDatabase) validateResourceReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&database.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (database *FlexibleServersDatabase) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { + oldObj, ok := old.(*FlexibleServersDatabase) + if !ok { + return nil, nil + } + + return genruntime.ValidateWriteOnceProperties(oldObj, database) +} + +// AssignProperties_From_FlexibleServersDatabase populates our FlexibleServersDatabase from the provided source FlexibleServersDatabase +func (database *FlexibleServersDatabase) AssignProperties_From_FlexibleServersDatabase(source *v20230630s.FlexibleServersDatabase) error { + + // ObjectMeta + database.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec FlexibleServers_Database_Spec + err := spec.AssignProperties_From_FlexibleServers_Database_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_Database_Spec() to populate field Spec") + } + database.Spec = spec + + // Status + var status FlexibleServers_Database_STATUS + err = status.AssignProperties_From_FlexibleServers_Database_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_Database_STATUS() to populate field Status") + } + database.Status = status + + // No error + return nil +} + +// AssignProperties_To_FlexibleServersDatabase populates the provided destination FlexibleServersDatabase from our FlexibleServersDatabase +func (database *FlexibleServersDatabase) AssignProperties_To_FlexibleServersDatabase(destination *v20230630s.FlexibleServersDatabase) error { + + // ObjectMeta + destination.ObjectMeta = *database.ObjectMeta.DeepCopy() + + // Spec + var spec v20230630s.FlexibleServers_Database_Spec + err := database.Spec.AssignProperties_To_FlexibleServers_Database_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_Database_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status v20230630s.FlexibleServers_Database_STATUS + err = database.Status.AssignProperties_To_FlexibleServers_Database_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_Database_STATUS() to populate field Status") + } + destination.Status = status + + // No error + return nil +} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (database *FlexibleServersDatabase) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: database.Spec.OriginalVersion(), + Kind: "FlexibleServersDatabase", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-06-30/Databases.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} +type FlexibleServersDatabaseList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FlexibleServersDatabase `json:"items"` +} + +type FlexibleServers_Database_Spec struct { + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + + // Charset: The charset of the database. + Charset *string `json:"charset,omitempty"` + + // Collation: The collation of the database. + Collation *string `json:"collation,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a dbformysql.azure.com/FlexibleServer resource + Owner *genruntime.KnownResourceReference `group:"dbformysql.azure.com" json:"owner,omitempty" kind:"FlexibleServer"` +} + +var _ genruntime.ARMTransformer = &FlexibleServers_Database_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (database *FlexibleServers_Database_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if database == nil { + return nil, nil + } + result := &FlexibleServers_Database_Spec_ARM{} + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if database.Charset != nil || database.Collation != nil { + result.Properties = &DatabaseProperties_ARM{} + } + if database.Charset != nil { + charset := *database.Charset + result.Properties.Charset = &charset + } + if database.Collation != nil { + collation := *database.Collation + result.Properties.Collation = &collation + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (database *FlexibleServers_Database_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &FlexibleServers_Database_Spec_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (database *FlexibleServers_Database_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(FlexibleServers_Database_Spec_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected FlexibleServers_Database_Spec_ARM, got %T", armInput) + } + + // Set property "AzureName": + database.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // Set property "Charset": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Charset != nil { + charset := *typedInput.Properties.Charset + database.Charset = &charset + } + } + + // Set property "Collation": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Collation != nil { + collation := *typedInput.Properties.Collation + database.Collation = &collation + } + } + + // Set property "Owner": + database.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &FlexibleServers_Database_Spec{} + +// ConvertSpecFrom populates our FlexibleServers_Database_Spec from the provided source +func (database *FlexibleServers_Database_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*v20230630s.FlexibleServers_Database_Spec) + if ok { + // Populate our instance from source + return database.AssignProperties_From_FlexibleServers_Database_Spec(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_Database_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = database.AssignProperties_From_FlexibleServers_Database_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our FlexibleServers_Database_Spec +func (database *FlexibleServers_Database_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*v20230630s.FlexibleServers_Database_Spec) + if ok { + // Populate destination from our instance + return database.AssignProperties_To_FlexibleServers_Database_Spec(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_Database_Spec{} + err := database.AssignProperties_To_FlexibleServers_Database_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_FlexibleServers_Database_Spec populates our FlexibleServers_Database_Spec from the provided source FlexibleServers_Database_Spec +func (database *FlexibleServers_Database_Spec) AssignProperties_From_FlexibleServers_Database_Spec(source *v20230630s.FlexibleServers_Database_Spec) error { + + // AzureName + database.AzureName = source.AzureName + + // Charset + database.Charset = genruntime.ClonePointerToString(source.Charset) + + // Collation + database.Collation = genruntime.ClonePointerToString(source.Collation) + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + database.Owner = &owner + } else { + database.Owner = nil + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_Database_Spec populates the provided destination FlexibleServers_Database_Spec from our FlexibleServers_Database_Spec +func (database *FlexibleServers_Database_Spec) AssignProperties_To_FlexibleServers_Database_Spec(destination *v20230630s.FlexibleServers_Database_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureName + destination.AzureName = database.AzureName + + // Charset + destination.Charset = genruntime.ClonePointerToString(database.Charset) + + // Collation + destination.Collation = genruntime.ClonePointerToString(database.Collation) + + // OriginalVersion + destination.OriginalVersion = database.OriginalVersion() + + // Owner + if database.Owner != nil { + owner := database.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_FlexibleServers_Database_STATUS populates our FlexibleServers_Database_Spec from the provided source FlexibleServers_Database_STATUS +func (database *FlexibleServers_Database_Spec) Initialize_From_FlexibleServers_Database_STATUS(source *FlexibleServers_Database_STATUS) error { + + // Charset + database.Charset = genruntime.ClonePointerToString(source.Charset) + + // Collation + database.Collation = genruntime.ClonePointerToString(source.Collation) + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (database *FlexibleServers_Database_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (database *FlexibleServers_Database_Spec) SetAzureName(azureName string) { + database.AzureName = azureName +} + +type FlexibleServers_Database_STATUS struct { + // Charset: The charset of the database. + Charset *string `json:"charset,omitempty"` + + // Collation: The collation of the database. + Collation *string `json:"collation,omitempty"` + + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &FlexibleServers_Database_STATUS{} + +// ConvertStatusFrom populates our FlexibleServers_Database_STATUS from the provided source +func (database *FlexibleServers_Database_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*v20230630s.FlexibleServers_Database_STATUS) + if ok { + // Populate our instance from source + return database.AssignProperties_From_FlexibleServers_Database_STATUS(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_Database_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = database.AssignProperties_From_FlexibleServers_Database_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our FlexibleServers_Database_STATUS +func (database *FlexibleServers_Database_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*v20230630s.FlexibleServers_Database_STATUS) + if ok { + // Populate destination from our instance + return database.AssignProperties_To_FlexibleServers_Database_STATUS(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_Database_STATUS{} + err := database.AssignProperties_To_FlexibleServers_Database_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &FlexibleServers_Database_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (database *FlexibleServers_Database_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &FlexibleServers_Database_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (database *FlexibleServers_Database_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(FlexibleServers_Database_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected FlexibleServers_Database_STATUS_ARM, got %T", armInput) + } + + // Set property "Charset": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Charset != nil { + charset := *typedInput.Properties.Charset + database.Charset = &charset + } + } + + // Set property "Collation": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.Collation != nil { + collation := *typedInput.Properties.Collation + database.Collation = &collation + } + } + + // no assignment for property "Conditions" + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + database.Id = &id + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + database.Name = &name + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + database.SystemData = &systemData + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + database.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_FlexibleServers_Database_STATUS populates our FlexibleServers_Database_STATUS from the provided source FlexibleServers_Database_STATUS +func (database *FlexibleServers_Database_STATUS) AssignProperties_From_FlexibleServers_Database_STATUS(source *v20230630s.FlexibleServers_Database_STATUS) error { + + // Charset + database.Charset = genruntime.ClonePointerToString(source.Charset) + + // Collation + database.Collation = genruntime.ClonePointerToString(source.Collation) + + // Conditions + database.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // Id + database.Id = genruntime.ClonePointerToString(source.Id) + + // Name + database.Name = genruntime.ClonePointerToString(source.Name) + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + database.SystemData = &systemDatum + } else { + database.SystemData = nil + } + + // Type + database.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_Database_STATUS populates the provided destination FlexibleServers_Database_STATUS from our FlexibleServers_Database_STATUS +func (database *FlexibleServers_Database_STATUS) AssignProperties_To_FlexibleServers_Database_STATUS(destination *v20230630s.FlexibleServers_Database_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Charset + destination.Charset = genruntime.ClonePointerToString(database.Charset) + + // Collation + destination.Collation = genruntime.ClonePointerToString(database.Collation) + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(database.Conditions) + + // Id + destination.Id = genruntime.ClonePointerToString(database.Id) + + // Name + destination.Name = genruntime.ClonePointerToString(database.Name) + + // SystemData + if database.SystemData != nil { + var systemDatum v20230630s.SystemData_STATUS + err := database.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(database.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +func init() { + SchemeBuilder.Register(&FlexibleServersDatabase{}, &FlexibleServersDatabaseList{}) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_database_types_gen_test.go b/v2/api/dbformysql/v1api20230630/flexible_servers_database_types_gen_test.go new file mode 100644 index 00000000000..9b8a7978e58 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_database_types_gen_test.go @@ -0,0 +1,392 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "encoding/json" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServersDatabase_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersDatabase to hub returns original", + prop.ForAll(RunResourceConversionTestForFlexibleServersDatabase, FlexibleServersDatabaseGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForFlexibleServersDatabase tests if a specific instance of FlexibleServersDatabase round trips to the hub storage version and back losslessly +func RunResourceConversionTestForFlexibleServersDatabase(subject FlexibleServersDatabase) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub v20230630s.FlexibleServersDatabase + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual FlexibleServersDatabase + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServersDatabase_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersDatabase to FlexibleServersDatabase via AssignProperties_To_FlexibleServersDatabase & AssignProperties_From_FlexibleServersDatabase returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServersDatabase, FlexibleServersDatabaseGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServersDatabase tests if a specific instance of FlexibleServersDatabase can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServersDatabase(subject FlexibleServersDatabase) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServersDatabase + err := copied.AssignProperties_To_FlexibleServersDatabase(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServersDatabase + err = actual.AssignProperties_From_FlexibleServersDatabase(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServersDatabase_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServersDatabase via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServersDatabase, FlexibleServersDatabaseGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServersDatabase runs a test to see if a specific instance of FlexibleServersDatabase round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServersDatabase(subject FlexibleServersDatabase) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServersDatabase + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServersDatabase instances for property testing - lazily instantiated by +// FlexibleServersDatabaseGenerator() +var flexibleServersDatabaseGenerator gopter.Gen + +// FlexibleServersDatabaseGenerator returns a generator of FlexibleServersDatabase instances for property testing. +func FlexibleServersDatabaseGenerator() gopter.Gen { + if flexibleServersDatabaseGenerator != nil { + return flexibleServersDatabaseGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForFlexibleServersDatabase(generators) + flexibleServersDatabaseGenerator = gen.Struct(reflect.TypeOf(FlexibleServersDatabase{}), generators) + + return flexibleServersDatabaseGenerator +} + +// AddRelatedPropertyGeneratorsForFlexibleServersDatabase is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServersDatabase(gens map[string]gopter.Gen) { + gens["Spec"] = FlexibleServers_Database_SpecGenerator() + gens["Status"] = FlexibleServers_Database_STATUSGenerator() +} + +func Test_FlexibleServers_Database_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_Database_Spec to FlexibleServers_Database_Spec via AssignProperties_To_FlexibleServers_Database_Spec & AssignProperties_From_FlexibleServers_Database_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_Database_Spec, FlexibleServers_Database_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_Database_Spec tests if a specific instance of FlexibleServers_Database_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_Database_Spec(subject FlexibleServers_Database_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_Database_Spec + err := copied.AssignProperties_To_FlexibleServers_Database_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_Database_Spec + err = actual.AssignProperties_From_FlexibleServers_Database_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServers_Database_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Database_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Database_Spec, FlexibleServers_Database_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Database_Spec runs a test to see if a specific instance of FlexibleServers_Database_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Database_Spec(subject FlexibleServers_Database_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Database_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Database_Spec instances for property testing - lazily instantiated by +// FlexibleServers_Database_SpecGenerator() +var flexibleServers_Database_SpecGenerator gopter.Gen + +// FlexibleServers_Database_SpecGenerator returns a generator of FlexibleServers_Database_Spec instances for property testing. +func FlexibleServers_Database_SpecGenerator() gopter.Gen { + if flexibleServers_Database_SpecGenerator != nil { + return flexibleServers_Database_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Database_Spec(generators) + flexibleServers_Database_SpecGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Database_Spec{}), generators) + + return flexibleServers_Database_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Database_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Database_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["Charset"] = gen.PtrOf(gen.AlphaString()) + gens["Collation"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_FlexibleServers_Database_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_Database_STATUS to FlexibleServers_Database_STATUS via AssignProperties_To_FlexibleServers_Database_STATUS & AssignProperties_From_FlexibleServers_Database_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_Database_STATUS, FlexibleServers_Database_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_Database_STATUS tests if a specific instance of FlexibleServers_Database_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_Database_STATUS(subject FlexibleServers_Database_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_Database_STATUS + err := copied.AssignProperties_To_FlexibleServers_Database_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_Database_STATUS + err = actual.AssignProperties_From_FlexibleServers_Database_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServers_Database_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Database_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Database_STATUS, FlexibleServers_Database_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Database_STATUS runs a test to see if a specific instance of FlexibleServers_Database_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Database_STATUS(subject FlexibleServers_Database_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Database_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Database_STATUS instances for property testing - lazily instantiated by +// FlexibleServers_Database_STATUSGenerator() +var flexibleServers_Database_STATUSGenerator gopter.Gen + +// FlexibleServers_Database_STATUSGenerator returns a generator of FlexibleServers_Database_STATUS instances for property testing. +// We first initialize flexibleServers_Database_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_Database_STATUSGenerator() gopter.Gen { + if flexibleServers_Database_STATUSGenerator != nil { + return flexibleServers_Database_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Database_STATUS(generators) + flexibleServers_Database_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Database_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Database_STATUS(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_Database_STATUS(generators) + flexibleServers_Database_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Database_STATUS{}), generators) + + return flexibleServers_Database_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Database_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Database_STATUS(gens map[string]gopter.Gen) { + gens["Charset"] = gen.PtrOf(gen.AlphaString()) + gens["Collation"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_Database_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_Database_STATUS(gens map[string]gopter.Gen) { + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_spec_arm_types_gen.go b/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_spec_arm_types_gen.go new file mode 100644 index 00000000000..fbf8e335cbd --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_spec_arm_types_gen.go @@ -0,0 +1,39 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + +type FlexibleServers_FirewallRule_Spec_ARM struct { + Name string `json:"name,omitempty"` + + // Properties: The properties of a firewall rule. + Properties *FirewallRuleProperties_ARM `json:"properties,omitempty"` +} + +var _ genruntime.ARMResourceSpec = &FlexibleServers_FirewallRule_Spec_ARM{} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2023-06-30" +func (rule FlexibleServers_FirewallRule_Spec_ARM) GetAPIVersion() string { + return string(APIVersion_Value) +} + +// GetName returns the Name of the resource +func (rule *FlexibleServers_FirewallRule_Spec_ARM) GetName() string { + return rule.Name +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.DBforMySQL/flexibleServers/firewallRules" +func (rule *FlexibleServers_FirewallRule_Spec_ARM) GetType() string { + return "Microsoft.DBforMySQL/flexibleServers/firewallRules" +} + +// The properties of a server firewall rule. +type FirewallRuleProperties_ARM struct { + // EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format. + EndIpAddress *string `json:"endIpAddress,omitempty"` + + // StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format. + StartIpAddress *string `json:"startIpAddress,omitempty"` +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_spec_arm_types_gen_test.go b/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_spec_arm_types_gen_test.go new file mode 100644 index 00000000000..0c87f3345f2 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_spec_arm_types_gen_test.go @@ -0,0 +1,155 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServers_FirewallRule_Spec_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_FirewallRule_Spec_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_FirewallRule_Spec_ARM, FlexibleServers_FirewallRule_Spec_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_FirewallRule_Spec_ARM runs a test to see if a specific instance of FlexibleServers_FirewallRule_Spec_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_FirewallRule_Spec_ARM(subject FlexibleServers_FirewallRule_Spec_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_FirewallRule_Spec_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_FirewallRule_Spec_ARM instances for property testing - lazily instantiated by +// FlexibleServers_FirewallRule_Spec_ARMGenerator() +var flexibleServers_FirewallRule_Spec_ARMGenerator gopter.Gen + +// FlexibleServers_FirewallRule_Spec_ARMGenerator returns a generator of FlexibleServers_FirewallRule_Spec_ARM instances for property testing. +// We first initialize flexibleServers_FirewallRule_Spec_ARMGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_FirewallRule_Spec_ARMGenerator() gopter.Gen { + if flexibleServers_FirewallRule_Spec_ARMGenerator != nil { + return flexibleServers_FirewallRule_Spec_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_Spec_ARM(generators) + flexibleServers_FirewallRule_Spec_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_FirewallRule_Spec_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_Spec_ARM(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_FirewallRule_Spec_ARM(generators) + flexibleServers_FirewallRule_Spec_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_FirewallRule_Spec_ARM{}), generators) + + return flexibleServers_FirewallRule_Spec_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_Spec_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_Spec_ARM(gens map[string]gopter.Gen) { + gens["Name"] = gen.AlphaString() +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_FirewallRule_Spec_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_FirewallRule_Spec_ARM(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(FirewallRuleProperties_ARMGenerator()) +} + +func Test_FirewallRuleProperties_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FirewallRuleProperties_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFirewallRuleProperties_ARM, FirewallRuleProperties_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFirewallRuleProperties_ARM runs a test to see if a specific instance of FirewallRuleProperties_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForFirewallRuleProperties_ARM(subject FirewallRuleProperties_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FirewallRuleProperties_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FirewallRuleProperties_ARM instances for property testing - lazily instantiated by +// FirewallRuleProperties_ARMGenerator() +var firewallRuleProperties_ARMGenerator gopter.Gen + +// FirewallRuleProperties_ARMGenerator returns a generator of FirewallRuleProperties_ARM instances for property testing. +func FirewallRuleProperties_ARMGenerator() gopter.Gen { + if firewallRuleProperties_ARMGenerator != nil { + return firewallRuleProperties_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFirewallRuleProperties_ARM(generators) + firewallRuleProperties_ARMGenerator = gen.Struct(reflect.TypeOf(FirewallRuleProperties_ARM{}), generators) + + return firewallRuleProperties_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForFirewallRuleProperties_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFirewallRuleProperties_ARM(gens map[string]gopter.Gen) { + gens["EndIpAddress"] = gen.PtrOf(gen.AlphaString()) + gens["StartIpAddress"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_status_arm_types_gen.go b/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_status_arm_types_gen.go new file mode 100644 index 00000000000..533c5a99f5e --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_status_arm_types_gen.go @@ -0,0 +1,31 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +type FlexibleServers_FirewallRule_STATUS_ARM struct { + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // Properties: The properties of a firewall rule. + Properties *FirewallRuleProperties_STATUS_ARM `json:"properties,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS_ARM `json:"systemData,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +// The properties of a server firewall rule. +type FirewallRuleProperties_STATUS_ARM struct { + // EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format. + EndIpAddress *string `json:"endIpAddress,omitempty"` + + // StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format. + StartIpAddress *string `json:"startIpAddress,omitempty"` +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_status_arm_types_gen_test.go b/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_status_arm_types_gen_test.go new file mode 100644 index 00000000000..1363702757e --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_status_arm_types_gen_test.go @@ -0,0 +1,158 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServers_FirewallRule_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_FirewallRule_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_FirewallRule_STATUS_ARM, FlexibleServers_FirewallRule_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_FirewallRule_STATUS_ARM runs a test to see if a specific instance of FlexibleServers_FirewallRule_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_FirewallRule_STATUS_ARM(subject FlexibleServers_FirewallRule_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_FirewallRule_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_FirewallRule_STATUS_ARM instances for property testing - lazily instantiated by +// FlexibleServers_FirewallRule_STATUS_ARMGenerator() +var flexibleServers_FirewallRule_STATUS_ARMGenerator gopter.Gen + +// FlexibleServers_FirewallRule_STATUS_ARMGenerator returns a generator of FlexibleServers_FirewallRule_STATUS_ARM instances for property testing. +// We first initialize flexibleServers_FirewallRule_STATUS_ARMGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_FirewallRule_STATUS_ARMGenerator() gopter.Gen { + if flexibleServers_FirewallRule_STATUS_ARMGenerator != nil { + return flexibleServers_FirewallRule_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS_ARM(generators) + flexibleServers_FirewallRule_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_FirewallRule_STATUS_ARM{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS_ARM(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS_ARM(generators) + flexibleServers_FirewallRule_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_FirewallRule_STATUS_ARM{}), generators) + + return flexibleServers_FirewallRule_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS_ARM is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS_ARM(gens map[string]gopter.Gen) { + gens["Properties"] = gen.PtrOf(FirewallRuleProperties_STATUS_ARMGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUS_ARMGenerator()) +} + +func Test_FirewallRuleProperties_STATUS_ARM_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FirewallRuleProperties_STATUS_ARM via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFirewallRuleProperties_STATUS_ARM, FirewallRuleProperties_STATUS_ARMGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFirewallRuleProperties_STATUS_ARM runs a test to see if a specific instance of FirewallRuleProperties_STATUS_ARM round trips to JSON and back losslessly +func RunJSONSerializationTestForFirewallRuleProperties_STATUS_ARM(subject FirewallRuleProperties_STATUS_ARM) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FirewallRuleProperties_STATUS_ARM + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FirewallRuleProperties_STATUS_ARM instances for property testing - lazily instantiated by +// FirewallRuleProperties_STATUS_ARMGenerator() +var firewallRuleProperties_STATUS_ARMGenerator gopter.Gen + +// FirewallRuleProperties_STATUS_ARMGenerator returns a generator of FirewallRuleProperties_STATUS_ARM instances for property testing. +func FirewallRuleProperties_STATUS_ARMGenerator() gopter.Gen { + if firewallRuleProperties_STATUS_ARMGenerator != nil { + return firewallRuleProperties_STATUS_ARMGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFirewallRuleProperties_STATUS_ARM(generators) + firewallRuleProperties_STATUS_ARMGenerator = gen.Struct(reflect.TypeOf(FirewallRuleProperties_STATUS_ARM{}), generators) + + return firewallRuleProperties_STATUS_ARMGenerator +} + +// AddIndependentPropertyGeneratorsForFirewallRuleProperties_STATUS_ARM is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFirewallRuleProperties_STATUS_ARM(gens map[string]gopter.Gen) { + gens["EndIpAddress"] = gen.PtrOf(gen.AlphaString()) + gens["StartIpAddress"] = gen.PtrOf(gen.AlphaString()) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_types_gen.go b/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_types_gen.go new file mode 100644 index 00000000000..31541bdac27 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_types_gen.go @@ -0,0 +1,808 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "fmt" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" + "github.com/Azure/azure-service-operator/v2/internal/reflecthelpers" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/conversion" + "sigs.k8s.io/controller-runtime/pkg/webhook/admission" +) + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Firewall/stable/2023-06-30/FirewallRules.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} +type FlexibleServersFirewallRule struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FlexibleServers_FirewallRule_Spec `json:"spec,omitempty"` + Status FlexibleServers_FirewallRule_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &FlexibleServersFirewallRule{} + +// GetConditions returns the conditions of the resource +func (rule *FlexibleServersFirewallRule) GetConditions() conditions.Conditions { + return rule.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (rule *FlexibleServersFirewallRule) SetConditions(conditions conditions.Conditions) { + rule.Status.Conditions = conditions +} + +var _ conversion.Convertible = &FlexibleServersFirewallRule{} + +// ConvertFrom populates our FlexibleServersFirewallRule from the provided hub FlexibleServersFirewallRule +func (rule *FlexibleServersFirewallRule) ConvertFrom(hub conversion.Hub) error { + source, ok := hub.(*v20230630s.FlexibleServersFirewallRule) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersFirewallRule but received %T instead", hub) + } + + return rule.AssignProperties_From_FlexibleServersFirewallRule(source) +} + +// ConvertTo populates the provided hub FlexibleServersFirewallRule from our FlexibleServersFirewallRule +func (rule *FlexibleServersFirewallRule) ConvertTo(hub conversion.Hub) error { + destination, ok := hub.(*v20230630s.FlexibleServersFirewallRule) + if !ok { + return fmt.Errorf("expected dbformysql/v1api20230630/storage/FlexibleServersFirewallRule but received %T instead", hub) + } + + return rule.AssignProperties_To_FlexibleServersFirewallRule(destination) +} + +// +kubebuilder:webhook:path=/mutate-dbformysql-azure-com-v1api20230630-flexibleserversfirewallrule,mutating=true,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=dbformysql.azure.com,resources=flexibleserversfirewallrules,verbs=create;update,versions=v1api20230630,name=default.v1api20230630.flexibleserversfirewallrules.dbformysql.azure.com,admissionReviewVersions=v1 + +var _ admission.Defaulter = &FlexibleServersFirewallRule{} + +// Default applies defaults to the FlexibleServersFirewallRule resource +func (rule *FlexibleServersFirewallRule) Default() { + rule.defaultImpl() + var temp any = rule + if runtimeDefaulter, ok := temp.(genruntime.Defaulter); ok { + runtimeDefaulter.CustomDefault() + } +} + +// defaultAzureName defaults the Azure name of the resource to the Kubernetes name +func (rule *FlexibleServersFirewallRule) defaultAzureName() { + if rule.Spec.AzureName == "" { + rule.Spec.AzureName = rule.Name + } +} + +// defaultImpl applies the code generated defaults to the FlexibleServersFirewallRule resource +func (rule *FlexibleServersFirewallRule) defaultImpl() { rule.defaultAzureName() } + +var _ genruntime.ImportableResource = &FlexibleServersFirewallRule{} + +// InitializeSpec initializes the spec for this resource from the given status +func (rule *FlexibleServersFirewallRule) InitializeSpec(status genruntime.ConvertibleStatus) error { + if s, ok := status.(*FlexibleServers_FirewallRule_STATUS); ok { + return rule.Spec.Initialize_From_FlexibleServers_FirewallRule_STATUS(s) + } + + return fmt.Errorf("expected Status of type FlexibleServers_FirewallRule_STATUS but received %T instead", status) +} + +var _ genruntime.KubernetesResource = &FlexibleServersFirewallRule{} + +// AzureName returns the Azure name of the resource +func (rule *FlexibleServersFirewallRule) AzureName() string { + return rule.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2023-06-30" +func (rule FlexibleServersFirewallRule) GetAPIVersion() string { + return string(APIVersion_Value) +} + +// GetResourceScope returns the scope of the resource +func (rule *FlexibleServersFirewallRule) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (rule *FlexibleServersFirewallRule) GetSpec() genruntime.ConvertibleSpec { + return &rule.Spec +} + +// GetStatus returns the status of this resource +func (rule *FlexibleServersFirewallRule) GetStatus() genruntime.ConvertibleStatus { + return &rule.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (rule *FlexibleServersFirewallRule) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.DBforMySQL/flexibleServers/firewallRules" +func (rule *FlexibleServersFirewallRule) GetType() string { + return "Microsoft.DBforMySQL/flexibleServers/firewallRules" +} + +// NewEmptyStatus returns a new empty (blank) status +func (rule *FlexibleServersFirewallRule) NewEmptyStatus() genruntime.ConvertibleStatus { + return &FlexibleServers_FirewallRule_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (rule *FlexibleServersFirewallRule) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(rule.Spec) + return rule.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (rule *FlexibleServersFirewallRule) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*FlexibleServers_FirewallRule_STATUS); ok { + rule.Status = *st + return nil + } + + // Convert status to required version + var st FlexibleServers_FirewallRule_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + rule.Status = st + return nil +} + +// +kubebuilder:webhook:path=/validate-dbformysql-azure-com-v1api20230630-flexibleserversfirewallrule,mutating=false,sideEffects=None,matchPolicy=Exact,failurePolicy=fail,groups=dbformysql.azure.com,resources=flexibleserversfirewallrules,verbs=create;update,versions=v1api20230630,name=validate.v1api20230630.flexibleserversfirewallrules.dbformysql.azure.com,admissionReviewVersions=v1 + +var _ admission.Validator = &FlexibleServersFirewallRule{} + +// ValidateCreate validates the creation of the resource +func (rule *FlexibleServersFirewallRule) ValidateCreate() (admission.Warnings, error) { + validations := rule.createValidations() + var temp any = rule + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.CreateValidations()...) + } + return genruntime.ValidateCreate(validations) +} + +// ValidateDelete validates the deletion of the resource +func (rule *FlexibleServersFirewallRule) ValidateDelete() (admission.Warnings, error) { + validations := rule.deleteValidations() + var temp any = rule + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.DeleteValidations()...) + } + return genruntime.ValidateDelete(validations) +} + +// ValidateUpdate validates an update of the resource +func (rule *FlexibleServersFirewallRule) ValidateUpdate(old runtime.Object) (admission.Warnings, error) { + validations := rule.updateValidations() + var temp any = rule + if runtimeValidator, ok := temp.(genruntime.Validator); ok { + validations = append(validations, runtimeValidator.UpdateValidations()...) + } + return genruntime.ValidateUpdate(old, validations) +} + +// createValidations validates the creation of the resource +func (rule *FlexibleServersFirewallRule) createValidations() []func() (admission.Warnings, error) { + return []func() (admission.Warnings, error){rule.validateResourceReferences, rule.validateOwnerReference} +} + +// deleteValidations validates the deletion of the resource +func (rule *FlexibleServersFirewallRule) deleteValidations() []func() (admission.Warnings, error) { + return nil +} + +// updateValidations validates the update of the resource +func (rule *FlexibleServersFirewallRule) updateValidations() []func(old runtime.Object) (admission.Warnings, error) { + return []func(old runtime.Object) (admission.Warnings, error){ + func(old runtime.Object) (admission.Warnings, error) { + return rule.validateResourceReferences() + }, + rule.validateWriteOnceProperties, + func(old runtime.Object) (admission.Warnings, error) { + return rule.validateOwnerReference() + }, + } +} + +// validateOwnerReference validates the owner field +func (rule *FlexibleServersFirewallRule) validateOwnerReference() (admission.Warnings, error) { + return genruntime.ValidateOwner(rule) +} + +// validateResourceReferences validates all resource references +func (rule *FlexibleServersFirewallRule) validateResourceReferences() (admission.Warnings, error) { + refs, err := reflecthelpers.FindResourceReferences(&rule.Spec) + if err != nil { + return nil, err + } + return genruntime.ValidateResourceReferences(refs) +} + +// validateWriteOnceProperties validates all WriteOnce properties +func (rule *FlexibleServersFirewallRule) validateWriteOnceProperties(old runtime.Object) (admission.Warnings, error) { + oldObj, ok := old.(*FlexibleServersFirewallRule) + if !ok { + return nil, nil + } + + return genruntime.ValidateWriteOnceProperties(oldObj, rule) +} + +// AssignProperties_From_FlexibleServersFirewallRule populates our FlexibleServersFirewallRule from the provided source FlexibleServersFirewallRule +func (rule *FlexibleServersFirewallRule) AssignProperties_From_FlexibleServersFirewallRule(source *v20230630s.FlexibleServersFirewallRule) error { + + // ObjectMeta + rule.ObjectMeta = *source.ObjectMeta.DeepCopy() + + // Spec + var spec FlexibleServers_FirewallRule_Spec + err := spec.AssignProperties_From_FlexibleServers_FirewallRule_Spec(&source.Spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_FirewallRule_Spec() to populate field Spec") + } + rule.Spec = spec + + // Status + var status FlexibleServers_FirewallRule_STATUS + err = status.AssignProperties_From_FlexibleServers_FirewallRule_STATUS(&source.Status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_FlexibleServers_FirewallRule_STATUS() to populate field Status") + } + rule.Status = status + + // No error + return nil +} + +// AssignProperties_To_FlexibleServersFirewallRule populates the provided destination FlexibleServersFirewallRule from our FlexibleServersFirewallRule +func (rule *FlexibleServersFirewallRule) AssignProperties_To_FlexibleServersFirewallRule(destination *v20230630s.FlexibleServersFirewallRule) error { + + // ObjectMeta + destination.ObjectMeta = *rule.ObjectMeta.DeepCopy() + + // Spec + var spec v20230630s.FlexibleServers_FirewallRule_Spec + err := rule.Spec.AssignProperties_To_FlexibleServers_FirewallRule_Spec(&spec) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_FirewallRule_Spec() to populate field Spec") + } + destination.Spec = spec + + // Status + var status v20230630s.FlexibleServers_FirewallRule_STATUS + err = rule.Status.AssignProperties_To_FlexibleServers_FirewallRule_STATUS(&status) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_FlexibleServers_FirewallRule_STATUS() to populate field Status") + } + destination.Status = status + + // No error + return nil +} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (rule *FlexibleServersFirewallRule) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: rule.Spec.OriginalVersion(), + Kind: "FlexibleServersFirewallRule", + } +} + +// +kubebuilder:object:root=true +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Firewall/stable/2023-06-30/FirewallRules.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} +type FlexibleServersFirewallRuleList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FlexibleServersFirewallRule `json:"items"` +} + +type FlexibleServers_FirewallRule_Spec struct { + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + + // +kubebuilder:validation:Required + // +kubebuilder:validation:Pattern="^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" + // EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format. + EndIpAddress *string `json:"endIpAddress,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a dbformysql.azure.com/FlexibleServer resource + Owner *genruntime.KnownResourceReference `group:"dbformysql.azure.com" json:"owner,omitempty" kind:"FlexibleServer"` + + // +kubebuilder:validation:Required + // +kubebuilder:validation:Pattern="^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" + // StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format. + StartIpAddress *string `json:"startIpAddress,omitempty"` +} + +var _ genruntime.ARMTransformer = &FlexibleServers_FirewallRule_Spec{} + +// ConvertToARM converts from a Kubernetes CRD object to an ARM object +func (rule *FlexibleServers_FirewallRule_Spec) ConvertToARM(resolved genruntime.ConvertToARMResolvedDetails) (interface{}, error) { + if rule == nil { + return nil, nil + } + result := &FlexibleServers_FirewallRule_Spec_ARM{} + + // Set property "Name": + result.Name = resolved.Name + + // Set property "Properties": + if rule.EndIpAddress != nil || rule.StartIpAddress != nil { + result.Properties = &FirewallRuleProperties_ARM{} + } + if rule.EndIpAddress != nil { + endIpAddress := *rule.EndIpAddress + result.Properties.EndIpAddress = &endIpAddress + } + if rule.StartIpAddress != nil { + startIpAddress := *rule.StartIpAddress + result.Properties.StartIpAddress = &startIpAddress + } + return result, nil +} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *FlexibleServers_FirewallRule_Spec) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &FlexibleServers_FirewallRule_Spec_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *FlexibleServers_FirewallRule_Spec) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(FlexibleServers_FirewallRule_Spec_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected FlexibleServers_FirewallRule_Spec_ARM, got %T", armInput) + } + + // Set property "AzureName": + rule.SetAzureName(genruntime.ExtractKubernetesResourceNameFromARMName(typedInput.Name)) + + // Set property "EndIpAddress": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EndIpAddress != nil { + endIpAddress := *typedInput.Properties.EndIpAddress + rule.EndIpAddress = &endIpAddress + } + } + + // Set property "Owner": + rule.Owner = &genruntime.KnownResourceReference{ + Name: owner.Name, + ARMID: owner.ARMID, + } + + // Set property "StartIpAddress": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.StartIpAddress != nil { + startIpAddress := *typedInput.Properties.StartIpAddress + rule.StartIpAddress = &startIpAddress + } + } + + // No error + return nil +} + +var _ genruntime.ConvertibleSpec = &FlexibleServers_FirewallRule_Spec{} + +// ConvertSpecFrom populates our FlexibleServers_FirewallRule_Spec from the provided source +func (rule *FlexibleServers_FirewallRule_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + src, ok := source.(*v20230630s.FlexibleServers_FirewallRule_Spec) + if ok { + // Populate our instance from source + return rule.AssignProperties_From_FlexibleServers_FirewallRule_Spec(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_FirewallRule_Spec{} + err := src.ConvertSpecFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecFrom()") + } + + // Update our instance from src + err = rule.AssignProperties_From_FlexibleServers_FirewallRule_Spec(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecFrom()") + } + + return nil +} + +// ConvertSpecTo populates the provided destination from our FlexibleServers_FirewallRule_Spec +func (rule *FlexibleServers_FirewallRule_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + dst, ok := destination.(*v20230630s.FlexibleServers_FirewallRule_Spec) + if ok { + // Populate destination from our instance + return rule.AssignProperties_To_FlexibleServers_FirewallRule_Spec(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_FirewallRule_Spec{} + err := rule.AssignProperties_To_FlexibleServers_FirewallRule_Spec(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertSpecTo()") + } + + // Update dst from our instance + err = dst.ConvertSpecTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertSpecTo()") + } + + return nil +} + +// AssignProperties_From_FlexibleServers_FirewallRule_Spec populates our FlexibleServers_FirewallRule_Spec from the provided source FlexibleServers_FirewallRule_Spec +func (rule *FlexibleServers_FirewallRule_Spec) AssignProperties_From_FlexibleServers_FirewallRule_Spec(source *v20230630s.FlexibleServers_FirewallRule_Spec) error { + + // AzureName + rule.AzureName = source.AzureName + + // EndIpAddress + if source.EndIpAddress != nil { + endIpAddress := *source.EndIpAddress + rule.EndIpAddress = &endIpAddress + } else { + rule.EndIpAddress = nil + } + + // Owner + if source.Owner != nil { + owner := source.Owner.Copy() + rule.Owner = &owner + } else { + rule.Owner = nil + } + + // StartIpAddress + if source.StartIpAddress != nil { + startIpAddress := *source.StartIpAddress + rule.StartIpAddress = &startIpAddress + } else { + rule.StartIpAddress = nil + } + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_FirewallRule_Spec populates the provided destination FlexibleServers_FirewallRule_Spec from our FlexibleServers_FirewallRule_Spec +func (rule *FlexibleServers_FirewallRule_Spec) AssignProperties_To_FlexibleServers_FirewallRule_Spec(destination *v20230630s.FlexibleServers_FirewallRule_Spec) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // AzureName + destination.AzureName = rule.AzureName + + // EndIpAddress + if rule.EndIpAddress != nil { + endIpAddress := *rule.EndIpAddress + destination.EndIpAddress = &endIpAddress + } else { + destination.EndIpAddress = nil + } + + // OriginalVersion + destination.OriginalVersion = rule.OriginalVersion() + + // Owner + if rule.Owner != nil { + owner := rule.Owner.Copy() + destination.Owner = &owner + } else { + destination.Owner = nil + } + + // StartIpAddress + if rule.StartIpAddress != nil { + startIpAddress := *rule.StartIpAddress + destination.StartIpAddress = &startIpAddress + } else { + destination.StartIpAddress = nil + } + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +// Initialize_From_FlexibleServers_FirewallRule_STATUS populates our FlexibleServers_FirewallRule_Spec from the provided source FlexibleServers_FirewallRule_STATUS +func (rule *FlexibleServers_FirewallRule_Spec) Initialize_From_FlexibleServers_FirewallRule_STATUS(source *FlexibleServers_FirewallRule_STATUS) error { + + // EndIpAddress + if source.EndIpAddress != nil { + endIpAddress := *source.EndIpAddress + rule.EndIpAddress = &endIpAddress + } else { + rule.EndIpAddress = nil + } + + // StartIpAddress + if source.StartIpAddress != nil { + startIpAddress := *source.StartIpAddress + rule.StartIpAddress = &startIpAddress + } else { + rule.StartIpAddress = nil + } + + // No error + return nil +} + +// OriginalVersion returns the original API version used to create the resource. +func (rule *FlexibleServers_FirewallRule_Spec) OriginalVersion() string { + return GroupVersion.Version +} + +// SetAzureName sets the Azure name of the resource +func (rule *FlexibleServers_FirewallRule_Spec) SetAzureName(azureName string) { + rule.AzureName = azureName +} + +type FlexibleServers_FirewallRule_STATUS struct { + // Conditions: The observed state of the resource + Conditions []conditions.Condition `json:"conditions,omitempty"` + + // EndIpAddress: The end IP address of the server firewall rule. Must be IPv4 format. + EndIpAddress *string `json:"endIpAddress,omitempty"` + + // Id: Fully qualified resource ID for the resource. E.g. + // "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}" + Id *string `json:"id,omitempty"` + + // Name: The name of the resource + Name *string `json:"name,omitempty"` + + // StartIpAddress: The start IP address of the server firewall rule. Must be IPv4 format. + StartIpAddress *string `json:"startIpAddress,omitempty"` + + // SystemData: Azure Resource Manager metadata containing createdBy and modifiedBy information. + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + + // Type: The type of the resource. E.g. "Microsoft.Compute/virtualMachines" or "Microsoft.Storage/storageAccounts" + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &FlexibleServers_FirewallRule_STATUS{} + +// ConvertStatusFrom populates our FlexibleServers_FirewallRule_STATUS from the provided source +func (rule *FlexibleServers_FirewallRule_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + src, ok := source.(*v20230630s.FlexibleServers_FirewallRule_STATUS) + if ok { + // Populate our instance from source + return rule.AssignProperties_From_FlexibleServers_FirewallRule_STATUS(src) + } + + // Convert to an intermediate form + src = &v20230630s.FlexibleServers_FirewallRule_STATUS{} + err := src.ConvertStatusFrom(source) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusFrom()") + } + + // Update our instance from src + err = rule.AssignProperties_From_FlexibleServers_FirewallRule_STATUS(src) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusFrom()") + } + + return nil +} + +// ConvertStatusTo populates the provided destination from our FlexibleServers_FirewallRule_STATUS +func (rule *FlexibleServers_FirewallRule_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + dst, ok := destination.(*v20230630s.FlexibleServers_FirewallRule_STATUS) + if ok { + // Populate destination from our instance + return rule.AssignProperties_To_FlexibleServers_FirewallRule_STATUS(dst) + } + + // Convert to an intermediate form + dst = &v20230630s.FlexibleServers_FirewallRule_STATUS{} + err := rule.AssignProperties_To_FlexibleServers_FirewallRule_STATUS(dst) + if err != nil { + return errors.Wrap(err, "initial step of conversion in ConvertStatusTo()") + } + + // Update dst from our instance + err = dst.ConvertStatusTo(destination) + if err != nil { + return errors.Wrap(err, "final step of conversion in ConvertStatusTo()") + } + + return nil +} + +var _ genruntime.FromARMConverter = &FlexibleServers_FirewallRule_STATUS{} + +// NewEmptyARMValue returns an empty ARM value suitable for deserializing into +func (rule *FlexibleServers_FirewallRule_STATUS) NewEmptyARMValue() genruntime.ARMResourceStatus { + return &FlexibleServers_FirewallRule_STATUS_ARM{} +} + +// PopulateFromARM populates a Kubernetes CRD object from an Azure ARM object +func (rule *FlexibleServers_FirewallRule_STATUS) PopulateFromARM(owner genruntime.ArbitraryOwnerReference, armInput interface{}) error { + typedInput, ok := armInput.(FlexibleServers_FirewallRule_STATUS_ARM) + if !ok { + return fmt.Errorf("unexpected type supplied for PopulateFromARM() function. Expected FlexibleServers_FirewallRule_STATUS_ARM, got %T", armInput) + } + + // no assignment for property "Conditions" + + // Set property "EndIpAddress": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.EndIpAddress != nil { + endIpAddress := *typedInput.Properties.EndIpAddress + rule.EndIpAddress = &endIpAddress + } + } + + // Set property "Id": + if typedInput.Id != nil { + id := *typedInput.Id + rule.Id = &id + } + + // Set property "Name": + if typedInput.Name != nil { + name := *typedInput.Name + rule.Name = &name + } + + // Set property "StartIpAddress": + // copying flattened property: + if typedInput.Properties != nil { + if typedInput.Properties.StartIpAddress != nil { + startIpAddress := *typedInput.Properties.StartIpAddress + rule.StartIpAddress = &startIpAddress + } + } + + // Set property "SystemData": + if typedInput.SystemData != nil { + var systemData1 SystemData_STATUS + err := systemData1.PopulateFromARM(owner, *typedInput.SystemData) + if err != nil { + return err + } + systemData := systemData1 + rule.SystemData = &systemData + } + + // Set property "Type": + if typedInput.Type != nil { + typeVar := *typedInput.Type + rule.Type = &typeVar + } + + // No error + return nil +} + +// AssignProperties_From_FlexibleServers_FirewallRule_STATUS populates our FlexibleServers_FirewallRule_STATUS from the provided source FlexibleServers_FirewallRule_STATUS +func (rule *FlexibleServers_FirewallRule_STATUS) AssignProperties_From_FlexibleServers_FirewallRule_STATUS(source *v20230630s.FlexibleServers_FirewallRule_STATUS) error { + + // Conditions + rule.Conditions = genruntime.CloneSliceOfCondition(source.Conditions) + + // EndIpAddress + rule.EndIpAddress = genruntime.ClonePointerToString(source.EndIpAddress) + + // Id + rule.Id = genruntime.ClonePointerToString(source.Id) + + // Name + rule.Name = genruntime.ClonePointerToString(source.Name) + + // StartIpAddress + rule.StartIpAddress = genruntime.ClonePointerToString(source.StartIpAddress) + + // SystemData + if source.SystemData != nil { + var systemDatum SystemData_STATUS + err := systemDatum.AssignProperties_From_SystemData_STATUS(source.SystemData) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_From_SystemData_STATUS() to populate field SystemData") + } + rule.SystemData = &systemDatum + } else { + rule.SystemData = nil + } + + // Type + rule.Type = genruntime.ClonePointerToString(source.Type) + + // No error + return nil +} + +// AssignProperties_To_FlexibleServers_FirewallRule_STATUS populates the provided destination FlexibleServers_FirewallRule_STATUS from our FlexibleServers_FirewallRule_STATUS +func (rule *FlexibleServers_FirewallRule_STATUS) AssignProperties_To_FlexibleServers_FirewallRule_STATUS(destination *v20230630s.FlexibleServers_FirewallRule_STATUS) error { + // Create a new property bag + propertyBag := genruntime.NewPropertyBag() + + // Conditions + destination.Conditions = genruntime.CloneSliceOfCondition(rule.Conditions) + + // EndIpAddress + destination.EndIpAddress = genruntime.ClonePointerToString(rule.EndIpAddress) + + // Id + destination.Id = genruntime.ClonePointerToString(rule.Id) + + // Name + destination.Name = genruntime.ClonePointerToString(rule.Name) + + // StartIpAddress + destination.StartIpAddress = genruntime.ClonePointerToString(rule.StartIpAddress) + + // SystemData + if rule.SystemData != nil { + var systemDatum v20230630s.SystemData_STATUS + err := rule.SystemData.AssignProperties_To_SystemData_STATUS(&systemDatum) + if err != nil { + return errors.Wrap(err, "calling AssignProperties_To_SystemData_STATUS() to populate field SystemData") + } + destination.SystemData = &systemDatum + } else { + destination.SystemData = nil + } + + // Type + destination.Type = genruntime.ClonePointerToString(rule.Type) + + // Update the property bag + if len(propertyBag) > 0 { + destination.PropertyBag = propertyBag + } else { + destination.PropertyBag = nil + } + + // No error + return nil +} + +func init() { + SchemeBuilder.Register(&FlexibleServersFirewallRule{}, &FlexibleServersFirewallRuleList{}) +} diff --git a/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_types_gen_test.go b/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_types_gen_test.go new file mode 100644 index 00000000000..7e432c3259f --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/flexible_servers_firewall_rule_types_gen_test.go @@ -0,0 +1,392 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package v1api20230630 + +import ( + "encoding/json" + v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServersFirewallRule_WhenConvertedToHub_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + parameters.MinSuccessfulTests = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersFirewallRule to hub returns original", + prop.ForAll(RunResourceConversionTestForFlexibleServersFirewallRule, FlexibleServersFirewallRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunResourceConversionTestForFlexibleServersFirewallRule tests if a specific instance of FlexibleServersFirewallRule round trips to the hub storage version and back losslessly +func RunResourceConversionTestForFlexibleServersFirewallRule(subject FlexibleServersFirewallRule) string { + // Copy subject to make sure conversion doesn't modify it + copied := subject.DeepCopy() + + // Convert to our hub version + var hub v20230630s.FlexibleServersFirewallRule + err := copied.ConvertTo(&hub) + if err != nil { + return err.Error() + } + + // Convert from our hub version + var actual FlexibleServersFirewallRule + err = actual.ConvertFrom(&hub) + if err != nil { + return err.Error() + } + + // Compare actual with what we started with + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServersFirewallRule_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServersFirewallRule to FlexibleServersFirewallRule via AssignProperties_To_FlexibleServersFirewallRule & AssignProperties_From_FlexibleServersFirewallRule returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServersFirewallRule, FlexibleServersFirewallRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServersFirewallRule tests if a specific instance of FlexibleServersFirewallRule can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServersFirewallRule(subject FlexibleServersFirewallRule) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServersFirewallRule + err := copied.AssignProperties_To_FlexibleServersFirewallRule(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServersFirewallRule + err = actual.AssignProperties_From_FlexibleServersFirewallRule(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServersFirewallRule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServersFirewallRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServersFirewallRule, FlexibleServersFirewallRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServersFirewallRule runs a test to see if a specific instance of FlexibleServersFirewallRule round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServersFirewallRule(subject FlexibleServersFirewallRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServersFirewallRule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServersFirewallRule instances for property testing - lazily instantiated by +// FlexibleServersFirewallRuleGenerator() +var flexibleServersFirewallRuleGenerator gopter.Gen + +// FlexibleServersFirewallRuleGenerator returns a generator of FlexibleServersFirewallRule instances for property testing. +func FlexibleServersFirewallRuleGenerator() gopter.Gen { + if flexibleServersFirewallRuleGenerator != nil { + return flexibleServersFirewallRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForFlexibleServersFirewallRule(generators) + flexibleServersFirewallRuleGenerator = gen.Struct(reflect.TypeOf(FlexibleServersFirewallRule{}), generators) + + return flexibleServersFirewallRuleGenerator +} + +// AddRelatedPropertyGeneratorsForFlexibleServersFirewallRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServersFirewallRule(gens map[string]gopter.Gen) { + gens["Spec"] = FlexibleServers_FirewallRule_SpecGenerator() + gens["Status"] = FlexibleServers_FirewallRule_STATUSGenerator() +} + +func Test_FlexibleServers_FirewallRule_Spec_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_FirewallRule_Spec to FlexibleServers_FirewallRule_Spec via AssignProperties_To_FlexibleServers_FirewallRule_Spec & AssignProperties_From_FlexibleServers_FirewallRule_Spec returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_FirewallRule_Spec, FlexibleServers_FirewallRule_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_FirewallRule_Spec tests if a specific instance of FlexibleServers_FirewallRule_Spec can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_FirewallRule_Spec(subject FlexibleServers_FirewallRule_Spec) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_FirewallRule_Spec + err := copied.AssignProperties_To_FlexibleServers_FirewallRule_Spec(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_FirewallRule_Spec + err = actual.AssignProperties_From_FlexibleServers_FirewallRule_Spec(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServers_FirewallRule_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_FirewallRule_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_FirewallRule_Spec, FlexibleServers_FirewallRule_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_FirewallRule_Spec runs a test to see if a specific instance of FlexibleServers_FirewallRule_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_FirewallRule_Spec(subject FlexibleServers_FirewallRule_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_FirewallRule_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_FirewallRule_Spec instances for property testing - lazily instantiated by +// FlexibleServers_FirewallRule_SpecGenerator() +var flexibleServers_FirewallRule_SpecGenerator gopter.Gen + +// FlexibleServers_FirewallRule_SpecGenerator returns a generator of FlexibleServers_FirewallRule_Spec instances for property testing. +func FlexibleServers_FirewallRule_SpecGenerator() gopter.Gen { + if flexibleServers_FirewallRule_SpecGenerator != nil { + return flexibleServers_FirewallRule_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_Spec(generators) + flexibleServers_FirewallRule_SpecGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_FirewallRule_Spec{}), generators) + + return flexibleServers_FirewallRule_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["EndIpAddress"] = gen.PtrOf(gen.AlphaString()) + gens["StartIpAddress"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_FlexibleServers_FirewallRule_STATUS_WhenPropertiesConverted_RoundTripsWithoutLoss(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MaxSize = 10 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip from FlexibleServers_FirewallRule_STATUS to FlexibleServers_FirewallRule_STATUS via AssignProperties_To_FlexibleServers_FirewallRule_STATUS & AssignProperties_From_FlexibleServers_FirewallRule_STATUS returns original", + prop.ForAll(RunPropertyAssignmentTestForFlexibleServers_FirewallRule_STATUS, FlexibleServers_FirewallRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(false, 240, os.Stdout)) +} + +// RunPropertyAssignmentTestForFlexibleServers_FirewallRule_STATUS tests if a specific instance of FlexibleServers_FirewallRule_STATUS can be assigned to storage and back losslessly +func RunPropertyAssignmentTestForFlexibleServers_FirewallRule_STATUS(subject FlexibleServers_FirewallRule_STATUS) string { + // Copy subject to make sure assignment doesn't modify it + copied := subject.DeepCopy() + + // Use AssignPropertiesTo() for the first stage of conversion + var other v20230630s.FlexibleServers_FirewallRule_STATUS + err := copied.AssignProperties_To_FlexibleServers_FirewallRule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Use AssignPropertiesFrom() to convert back to our original type + var actual FlexibleServers_FirewallRule_STATUS + err = actual.AssignProperties_From_FlexibleServers_FirewallRule_STATUS(&other) + if err != nil { + return err.Error() + } + + // Check for a match + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +func Test_FlexibleServers_FirewallRule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_FirewallRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_FirewallRule_STATUS, FlexibleServers_FirewallRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_FirewallRule_STATUS runs a test to see if a specific instance of FlexibleServers_FirewallRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_FirewallRule_STATUS(subject FlexibleServers_FirewallRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_FirewallRule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_FirewallRule_STATUS instances for property testing - lazily instantiated by +// FlexibleServers_FirewallRule_STATUSGenerator() +var flexibleServers_FirewallRule_STATUSGenerator gopter.Gen + +// FlexibleServers_FirewallRule_STATUSGenerator returns a generator of FlexibleServers_FirewallRule_STATUS instances for property testing. +// We first initialize flexibleServers_FirewallRule_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_FirewallRule_STATUSGenerator() gopter.Gen { + if flexibleServers_FirewallRule_STATUSGenerator != nil { + return flexibleServers_FirewallRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS(generators) + flexibleServers_FirewallRule_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_FirewallRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS(generators) + flexibleServers_FirewallRule_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_FirewallRule_STATUS{}), generators) + + return flexibleServers_FirewallRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS(gens map[string]gopter.Gen) { + gens["EndIpAddress"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["StartIpAddress"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS(gens map[string]gopter.Gen) { + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} diff --git a/v2/api/dbformysql/v1api20230630/groupversion_info_gen.go b/v2/api/dbformysql/v1api20230630/groupversion_info_gen.go new file mode 100644 index 00000000000..5a7a130236a --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/groupversion_info_gen.go @@ -0,0 +1,32 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by azure-service-operator-codegen. DO NOT EDIT. + +// Package v1api20230630 contains API Schema definitions for the dbformysql v1api20230630 API group +// +kubebuilder:object:generate=true +// All object properties are optional by default, this will be overridden when needed: +// +kubebuilder:validation:Optional +// +groupName=dbformysql.azure.com +// +versionName=v1api20230630 +package v1api20230630 + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +var ( + // GroupVersion is group version used to register these objects + GroupVersion = schema.GroupVersion{Group: "dbformysql.azure.com", Version: "v1api20230630"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme + + localSchemeBuilder = SchemeBuilder.SchemeBuilder +) diff --git a/v2/api/dbformysql/v1api20230630/storage/flexible_server_types_gen.go b/v2/api/dbformysql/v1api20230630/storage/flexible_server_types_gen.go new file mode 100644 index 00000000000..58724686be2 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/storage/flexible_server_types_gen.go @@ -0,0 +1,512 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "context" + "github.com/Azure/azure-service-operator/v2/internal/genericarmclient" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/configmaps" + "github.com/go-logr/logr" + "github.com/pkg/errors" + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/client" +) + +// +kubebuilder:rbac:groups=dbformysql.azure.com,resources=flexibleservers,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=dbformysql.azure.com,resources={flexibleservers/status,flexibleservers/finalizers},verbs=get;update;patch + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Storage version of v1api20230630.FlexibleServer +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/FlexibleServers.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} +type FlexibleServer struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FlexibleServer_Spec `json:"spec,omitempty"` + Status FlexibleServer_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &FlexibleServer{} + +// GetConditions returns the conditions of the resource +func (server *FlexibleServer) GetConditions() conditions.Conditions { + return server.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (server *FlexibleServer) SetConditions(conditions conditions.Conditions) { + server.Status.Conditions = conditions +} + +var _ genruntime.KubernetesExporter = &FlexibleServer{} + +// ExportKubernetesResources defines a resource which can create other resources in Kubernetes. +func (server *FlexibleServer) ExportKubernetesResources(_ context.Context, _ genruntime.MetaObject, _ *genericarmclient.GenericClient, _ logr.Logger) ([]client.Object, error) { + collector := configmaps.NewCollector(server.Namespace) + if server.Spec.OperatorSpec != nil && server.Spec.OperatorSpec.ConfigMaps != nil { + if server.Status.AdministratorLogin != nil { + collector.AddValue(server.Spec.OperatorSpec.ConfigMaps.AdministratorLogin, *server.Status.AdministratorLogin) + } + } + if server.Spec.OperatorSpec != nil && server.Spec.OperatorSpec.ConfigMaps != nil { + if server.Status.FullyQualifiedDomainName != nil { + collector.AddValue(server.Spec.OperatorSpec.ConfigMaps.FullyQualifiedDomainName, *server.Status.FullyQualifiedDomainName) + } + } + result, err := collector.Values() + if err != nil { + return nil, err + } + return configmaps.SliceToClientObjectSlice(result), nil +} + +var _ genruntime.KubernetesResource = &FlexibleServer{} + +// AzureName returns the Azure name of the resource +func (server *FlexibleServer) AzureName() string { + return server.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2023-06-30" +func (server FlexibleServer) GetAPIVersion() string { + return string(APIVersion_Value) +} + +// GetResourceScope returns the scope of the resource +func (server *FlexibleServer) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (server *FlexibleServer) GetSpec() genruntime.ConvertibleSpec { + return &server.Spec +} + +// GetStatus returns the status of this resource +func (server *FlexibleServer) GetStatus() genruntime.ConvertibleStatus { + return &server.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (server *FlexibleServer) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.DBforMySQL/flexibleServers" +func (server *FlexibleServer) GetType() string { + return "Microsoft.DBforMySQL/flexibleServers" +} + +// NewEmptyStatus returns a new empty (blank) status +func (server *FlexibleServer) NewEmptyStatus() genruntime.ConvertibleStatus { + return &FlexibleServer_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (server *FlexibleServer) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(server.Spec) + return server.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (server *FlexibleServer) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*FlexibleServer_STATUS); ok { + server.Status = *st + return nil + } + + // Convert status to required version + var st FlexibleServer_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + server.Status = st + return nil +} + +// Hub marks that this FlexibleServer is the hub type for conversion +func (server *FlexibleServer) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (server *FlexibleServer) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: server.Spec.OriginalVersion, + Kind: "FlexibleServer", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20230630.FlexibleServer +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/FlexibleServers/stable/2023-06-30/FlexibleServers.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName} +type FlexibleServerList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FlexibleServer `json:"items"` +} + +// Storage version of v1api20230630.APIVersion +// +kubebuilder:validation:Enum={"2023-06-30"} +type APIVersion string + +const APIVersion_Value = APIVersion("2023-06-30") + +// Storage version of v1api20230630.FlexibleServer_Spec +type FlexibleServer_Spec struct { + AdministratorLogin *string `json:"administratorLogin,omitempty"` + AdministratorLoginPassword *genruntime.SecretReference `json:"administratorLoginPassword,omitempty"` + AvailabilityZone *string `json:"availabilityZone,omitempty"` + + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + Backup *Backup `json:"backup,omitempty"` + CreateMode *string `json:"createMode,omitempty"` + DataEncryption *DataEncryption `json:"dataEncryption,omitempty"` + HighAvailability *HighAvailability `json:"highAvailability,omitempty"` + Identity *MySQLServerIdentity `json:"identity,omitempty"` + ImportSourceProperties *ImportSourceProperties `json:"importSourceProperties,omitempty"` + Location *string `json:"location,omitempty"` + MaintenanceWindow *MaintenanceWindow `json:"maintenanceWindow,omitempty"` + Network *Network `json:"network,omitempty"` + OperatorSpec *FlexibleServerOperatorSpec `json:"operatorSpec,omitempty"` + OriginalVersion string `json:"originalVersion,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a resources.azure.com/ResourceGroup resource + Owner *genruntime.KnownResourceReference `group:"resources.azure.com" json:"owner,omitempty" kind:"ResourceGroup"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ReplicationRole *string `json:"replicationRole,omitempty"` + RestorePointInTime *string `json:"restorePointInTime,omitempty"` + Sku *MySQLServerSku `json:"sku,omitempty"` + + // SourceServerResourceReference: The source MySQL server id. + SourceServerResourceReference *genruntime.ResourceReference `armReference:"SourceServerResourceId" json:"sourceServerResourceReference,omitempty"` + Storage *Storage `json:"storage,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Version *string `json:"version,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &FlexibleServer_Spec{} + +// ConvertSpecFrom populates our FlexibleServer_Spec from the provided source +func (server *FlexibleServer_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == server { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(server) +} + +// ConvertSpecTo populates the provided destination from our FlexibleServer_Spec +func (server *FlexibleServer_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == server { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(server) +} + +// Storage version of v1api20230630.FlexibleServer_STATUS +type FlexibleServer_STATUS struct { + AdministratorLogin *string `json:"administratorLogin,omitempty"` + AvailabilityZone *string `json:"availabilityZone,omitempty"` + Backup *Backup_STATUS `json:"backup,omitempty"` + Conditions []conditions.Condition `json:"conditions,omitempty"` + CreateMode *string `json:"createMode,omitempty"` + DataEncryption *DataEncryption_STATUS `json:"dataEncryption,omitempty"` + FullyQualifiedDomainName *string `json:"fullyQualifiedDomainName,omitempty"` + HighAvailability *HighAvailability_STATUS `json:"highAvailability,omitempty"` + Id *string `json:"id,omitempty"` + Identity *MySQLServerIdentity_STATUS `json:"identity,omitempty"` + ImportSourceProperties *ImportSourceProperties_STATUS `json:"importSourceProperties,omitempty"` + Location *string `json:"location,omitempty"` + MaintenanceWindow *MaintenanceWindow_STATUS `json:"maintenanceWindow,omitempty"` + Name *string `json:"name,omitempty"` + Network *Network_STATUS `json:"network,omitempty"` + PrivateEndpointConnections []PrivateEndpointConnection_STATUS `json:"privateEndpointConnections,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + ReplicaCapacity *int `json:"replicaCapacity,omitempty"` + ReplicationRole *string `json:"replicationRole,omitempty"` + RestorePointInTime *string `json:"restorePointInTime,omitempty"` + Sku *MySQLServerSku_STATUS `json:"sku,omitempty"` + SourceServerResourceId *string `json:"sourceServerResourceId,omitempty"` + State *string `json:"state,omitempty"` + Storage *Storage_STATUS `json:"storage,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Tags map[string]string `json:"tags,omitempty"` + Type *string `json:"type,omitempty"` + Version *string `json:"version,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &FlexibleServer_STATUS{} + +// ConvertStatusFrom populates our FlexibleServer_STATUS from the provided source +func (server *FlexibleServer_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == server { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(server) +} + +// ConvertStatusTo populates the provided destination from our FlexibleServer_STATUS +func (server *FlexibleServer_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == server { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(server) +} + +// Storage version of v1api20230630.Backup +// Storage Profile properties of a server +type Backup struct { + BackupRetentionDays *int `json:"backupRetentionDays,omitempty"` + GeoRedundantBackup *string `json:"geoRedundantBackup,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20230630.Backup_STATUS +// Storage Profile properties of a server +type Backup_STATUS struct { + BackupRetentionDays *int `json:"backupRetentionDays,omitempty"` + EarliestRestoreDate *string `json:"earliestRestoreDate,omitempty"` + GeoRedundantBackup *string `json:"geoRedundantBackup,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20230630.DataEncryption +// The date encryption for cmk. +type DataEncryption struct { + GeoBackupKeyURI *string `json:"geoBackupKeyURI,omitempty"` + + // GeoBackupUserAssignedIdentityReference: Geo backup user identity resource id as identity can't cross region, need + // identity in same region as geo backup + GeoBackupUserAssignedIdentityReference *genruntime.ResourceReference `armReference:"GeoBackupUserAssignedIdentityId" json:"geoBackupUserAssignedIdentityReference,omitempty"` + PrimaryKeyURI *string `json:"primaryKeyURI,omitempty"` + + // PrimaryUserAssignedIdentityReference: Primary user identity resource id + PrimaryUserAssignedIdentityReference *genruntime.ResourceReference `armReference:"PrimaryUserAssignedIdentityId" json:"primaryUserAssignedIdentityReference,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20230630.DataEncryption_STATUS +// The date encryption for cmk. +type DataEncryption_STATUS struct { + GeoBackupKeyURI *string `json:"geoBackupKeyURI,omitempty"` + GeoBackupUserAssignedIdentityId *string `json:"geoBackupUserAssignedIdentityId,omitempty"` + PrimaryKeyURI *string `json:"primaryKeyURI,omitempty"` + PrimaryUserAssignedIdentityId *string `json:"primaryUserAssignedIdentityId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` +} + +// Storage version of v1api20230630.FlexibleServerOperatorSpec +// Details for configuring operator behavior. Fields in this struct are interpreted by the operator directly rather than being passed to Azure +type FlexibleServerOperatorSpec struct { + ConfigMaps *FlexibleServerOperatorConfigMaps `json:"configMaps,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Secrets *FlexibleServerOperatorSecrets `json:"secrets,omitempty"` +} + +// Storage version of v1api20230630.HighAvailability +// Network related properties of a server +type HighAvailability struct { + Mode *string `json:"mode,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + StandbyAvailabilityZone *string `json:"standbyAvailabilityZone,omitempty"` +} + +// Storage version of v1api20230630.HighAvailability_STATUS +// Network related properties of a server +type HighAvailability_STATUS struct { + Mode *string `json:"mode,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + StandbyAvailabilityZone *string `json:"standbyAvailabilityZone,omitempty"` + State *string `json:"state,omitempty"` +} + +// Storage version of v1api20230630.ImportSourceProperties +// Import source related properties. +type ImportSourceProperties struct { + DataDirPath *string `json:"dataDirPath,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SasToken *genruntime.SecretReference `json:"sasToken,omitempty"` + StorageType *string `json:"storageType,omitempty"` + StorageUrl *string `json:"storageUrl,omitempty"` +} + +// Storage version of v1api20230630.ImportSourceProperties_STATUS +// Import source related properties. +type ImportSourceProperties_STATUS struct { + DataDirPath *string `json:"dataDirPath,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + StorageType *string `json:"storageType,omitempty"` + StorageUrl *string `json:"storageUrl,omitempty"` +} + +// Storage version of v1api20230630.MaintenanceWindow +// Maintenance window of a server. +type MaintenanceWindow struct { + CustomWindow *string `json:"customWindow,omitempty"` + DayOfWeek *int `json:"dayOfWeek,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + StartHour *int `json:"startHour,omitempty"` + StartMinute *int `json:"startMinute,omitempty"` +} + +// Storage version of v1api20230630.MaintenanceWindow_STATUS +// Maintenance window of a server. +type MaintenanceWindow_STATUS struct { + CustomWindow *string `json:"customWindow,omitempty"` + DayOfWeek *int `json:"dayOfWeek,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + StartHour *int `json:"startHour,omitempty"` + StartMinute *int `json:"startMinute,omitempty"` +} + +// Storage version of v1api20230630.MySQLServerIdentity +// Properties to configure Identity for Bring your Own Keys +type MySQLServerIdentity struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Type *string `json:"type,omitempty"` + UserAssignedIdentities []UserAssignedIdentityDetails `json:"userAssignedIdentities,omitempty"` +} + +// Storage version of v1api20230630.MySQLServerIdentity_STATUS +// Properties to configure Identity for Bring your Own Keys +type MySQLServerIdentity_STATUS struct { + PrincipalId *string `json:"principalId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + TenantId *string `json:"tenantId,omitempty"` + Type *string `json:"type,omitempty"` + UserAssignedIdentities map[string]v1.JSON `json:"userAssignedIdentities,omitempty"` +} + +// Storage version of v1api20230630.MySQLServerSku +// Billing information related properties of a server. +type MySQLServerSku struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Tier *string `json:"tier,omitempty"` +} + +// Storage version of v1api20230630.MySQLServerSku_STATUS +// Billing information related properties of a server. +type MySQLServerSku_STATUS struct { + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Tier *string `json:"tier,omitempty"` +} + +// Storage version of v1api20230630.Network +// Network related properties of a server +type Network struct { + // DelegatedSubnetResourceReference: Delegated subnet resource id used to setup vnet for a server. + DelegatedSubnetResourceReference *genruntime.ResourceReference `armReference:"DelegatedSubnetResourceId" json:"delegatedSubnetResourceReference,omitempty"` + + // PrivateDnsZoneResourceReference: Private DNS zone resource id. + PrivateDnsZoneResourceReference *genruntime.ResourceReference `armReference:"PrivateDnsZoneResourceId" json:"privateDnsZoneResourceReference,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + PublicNetworkAccess *string `json:"publicNetworkAccess,omitempty"` +} + +// Storage version of v1api20230630.Network_STATUS +// Network related properties of a server +type Network_STATUS struct { + DelegatedSubnetResourceId *string `json:"delegatedSubnetResourceId,omitempty"` + PrivateDnsZoneResourceId *string `json:"privateDnsZoneResourceId,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + PublicNetworkAccess *string `json:"publicNetworkAccess,omitempty"` +} + +// Storage version of v1api20230630.PrivateEndpointConnection_STATUS +// The private endpoint connection resource. +type PrivateEndpointConnection_STATUS struct { + Id *string `json:"id,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20230630.Storage +// Storage Profile properties of a server +type Storage struct { + AutoGrow *string `json:"autoGrow,omitempty"` + AutoIoScaling *string `json:"autoIoScaling,omitempty"` + Iops *int `json:"iops,omitempty"` + LogOnDisk *string `json:"logOnDisk,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + StorageSizeGB *int `json:"storageSizeGB,omitempty"` +} + +// Storage version of v1api20230630.Storage_STATUS +// Storage Profile properties of a server +type Storage_STATUS struct { + AutoGrow *string `json:"autoGrow,omitempty"` + AutoIoScaling *string `json:"autoIoScaling,omitempty"` + Iops *int `json:"iops,omitempty"` + LogOnDisk *string `json:"logOnDisk,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + StorageSizeGB *int `json:"storageSizeGB,omitempty"` + StorageSku *string `json:"storageSku,omitempty"` +} + +// Storage version of v1api20230630.SystemData_STATUS +// Metadata pertaining to creation and last modification of the resource. +type SystemData_STATUS struct { + CreatedAt *string `json:"createdAt,omitempty"` + CreatedBy *string `json:"createdBy,omitempty"` + CreatedByType *string `json:"createdByType,omitempty"` + LastModifiedAt *string `json:"lastModifiedAt,omitempty"` + LastModifiedBy *string `json:"lastModifiedBy,omitempty"` + LastModifiedByType *string `json:"lastModifiedByType,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20230630.FlexibleServerOperatorConfigMaps +type FlexibleServerOperatorConfigMaps struct { + AdministratorLogin *genruntime.ConfigMapDestination `json:"administratorLogin,omitempty"` + FullyQualifiedDomainName *genruntime.ConfigMapDestination `json:"fullyQualifiedDomainName,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20230630.FlexibleServerOperatorSecrets +type FlexibleServerOperatorSecrets struct { + FullyQualifiedDomainName *genruntime.SecretDestination `json:"fullyQualifiedDomainName,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +// Storage version of v1api20230630.UserAssignedIdentityDetails +// Information about the user assigned identity for the resource +type UserAssignedIdentityDetails struct { + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Reference genruntime.ResourceReference `armReference:"Reference" json:"reference,omitempty"` +} + +func init() { + SchemeBuilder.Register(&FlexibleServer{}, &FlexibleServerList{}) +} diff --git a/v2/api/dbformysql/v1api20230630/storage/flexible_server_types_gen_test.go b/v2/api/dbformysql/v1api20230630/storage/flexible_server_types_gen_test.go new file mode 100644 index 00000000000..063f100f5cc --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/storage/flexible_server_types_gen_test.go @@ -0,0 +1,1763 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServer_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServer via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServer, FlexibleServerGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServer runs a test to see if a specific instance of FlexibleServer round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServer(subject FlexibleServer) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServer + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServer instances for property testing - lazily instantiated by FlexibleServerGenerator() +var flexibleServerGenerator gopter.Gen + +// FlexibleServerGenerator returns a generator of FlexibleServer instances for property testing. +func FlexibleServerGenerator() gopter.Gen { + if flexibleServerGenerator != nil { + return flexibleServerGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForFlexibleServer(generators) + flexibleServerGenerator = gen.Struct(reflect.TypeOf(FlexibleServer{}), generators) + + return flexibleServerGenerator +} + +// AddRelatedPropertyGeneratorsForFlexibleServer is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServer(gens map[string]gopter.Gen) { + gens["Spec"] = FlexibleServer_SpecGenerator() + gens["Status"] = FlexibleServer_STATUSGenerator() +} + +func Test_FlexibleServer_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServer_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServer_Spec, FlexibleServer_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServer_Spec runs a test to see if a specific instance of FlexibleServer_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServer_Spec(subject FlexibleServer_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServer_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServer_Spec instances for property testing - lazily instantiated by +// FlexibleServer_SpecGenerator() +var flexibleServer_SpecGenerator gopter.Gen + +// FlexibleServer_SpecGenerator returns a generator of FlexibleServer_Spec instances for property testing. +// We first initialize flexibleServer_SpecGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServer_SpecGenerator() gopter.Gen { + if flexibleServer_SpecGenerator != nil { + return flexibleServer_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServer_Spec(generators) + flexibleServer_SpecGenerator = gen.Struct(reflect.TypeOf(FlexibleServer_Spec{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServer_Spec(generators) + AddRelatedPropertyGeneratorsForFlexibleServer_Spec(generators) + flexibleServer_SpecGenerator = gen.Struct(reflect.TypeOf(FlexibleServer_Spec{}), generators) + + return flexibleServer_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServer_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServer_Spec(gens map[string]gopter.Gen) { + gens["AdministratorLogin"] = gen.PtrOf(gen.AlphaString()) + gens["AvailabilityZone"] = gen.PtrOf(gen.AlphaString()) + gens["AzureName"] = gen.AlphaString() + gens["CreateMode"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["OriginalVersion"] = gen.AlphaString() + gens["ReplicationRole"] = gen.PtrOf(gen.AlphaString()) + gens["RestorePointInTime"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf(gen.AlphaString(), gen.AlphaString()) + gens["Version"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServer_Spec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServer_Spec(gens map[string]gopter.Gen) { + gens["Backup"] = gen.PtrOf(BackupGenerator()) + gens["DataEncryption"] = gen.PtrOf(DataEncryptionGenerator()) + gens["HighAvailability"] = gen.PtrOf(HighAvailabilityGenerator()) + gens["Identity"] = gen.PtrOf(MySQLServerIdentityGenerator()) + gens["ImportSourceProperties"] = gen.PtrOf(ImportSourcePropertiesGenerator()) + gens["MaintenanceWindow"] = gen.PtrOf(MaintenanceWindowGenerator()) + gens["Network"] = gen.PtrOf(NetworkGenerator()) + gens["OperatorSpec"] = gen.PtrOf(FlexibleServerOperatorSpecGenerator()) + gens["Sku"] = gen.PtrOf(MySQLServerSkuGenerator()) + gens["Storage"] = gen.PtrOf(StorageGenerator()) +} + +func Test_FlexibleServer_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServer_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServer_STATUS, FlexibleServer_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServer_STATUS runs a test to see if a specific instance of FlexibleServer_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServer_STATUS(subject FlexibleServer_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServer_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServer_STATUS instances for property testing - lazily instantiated by +// FlexibleServer_STATUSGenerator() +var flexibleServer_STATUSGenerator gopter.Gen + +// FlexibleServer_STATUSGenerator returns a generator of FlexibleServer_STATUS instances for property testing. +// We first initialize flexibleServer_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServer_STATUSGenerator() gopter.Gen { + if flexibleServer_STATUSGenerator != nil { + return flexibleServer_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServer_STATUS(generators) + flexibleServer_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServer_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServer_STATUS(generators) + AddRelatedPropertyGeneratorsForFlexibleServer_STATUS(generators) + flexibleServer_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServer_STATUS{}), generators) + + return flexibleServer_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServer_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServer_STATUS(gens map[string]gopter.Gen) { + gens["AdministratorLogin"] = gen.PtrOf(gen.AlphaString()) + gens["AvailabilityZone"] = gen.PtrOf(gen.AlphaString()) + gens["CreateMode"] = gen.PtrOf(gen.AlphaString()) + gens["FullyQualifiedDomainName"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Location"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["ReplicaCapacity"] = gen.PtrOf(gen.Int()) + gens["ReplicationRole"] = gen.PtrOf(gen.AlphaString()) + gens["RestorePointInTime"] = gen.PtrOf(gen.AlphaString()) + gens["SourceServerResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["State"] = gen.PtrOf(gen.AlphaString()) + gens["Tags"] = gen.MapOf(gen.AlphaString(), gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["Version"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServer_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServer_STATUS(gens map[string]gopter.Gen) { + gens["Backup"] = gen.PtrOf(Backup_STATUSGenerator()) + gens["DataEncryption"] = gen.PtrOf(DataEncryption_STATUSGenerator()) + gens["HighAvailability"] = gen.PtrOf(HighAvailability_STATUSGenerator()) + gens["Identity"] = gen.PtrOf(MySQLServerIdentity_STATUSGenerator()) + gens["ImportSourceProperties"] = gen.PtrOf(ImportSourceProperties_STATUSGenerator()) + gens["MaintenanceWindow"] = gen.PtrOf(MaintenanceWindow_STATUSGenerator()) + gens["Network"] = gen.PtrOf(Network_STATUSGenerator()) + gens["PrivateEndpointConnections"] = gen.SliceOf(PrivateEndpointConnection_STATUSGenerator()) + gens["Sku"] = gen.PtrOf(MySQLServerSku_STATUSGenerator()) + gens["Storage"] = gen.PtrOf(Storage_STATUSGenerator()) + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} + +func Test_Backup_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Backup via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBackup, BackupGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBackup runs a test to see if a specific instance of Backup round trips to JSON and back losslessly +func RunJSONSerializationTestForBackup(subject Backup) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Backup + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Backup instances for property testing - lazily instantiated by BackupGenerator() +var backupGenerator gopter.Gen + +// BackupGenerator returns a generator of Backup instances for property testing. +func BackupGenerator() gopter.Gen { + if backupGenerator != nil { + return backupGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBackup(generators) + backupGenerator = gen.Struct(reflect.TypeOf(Backup{}), generators) + + return backupGenerator +} + +// AddIndependentPropertyGeneratorsForBackup is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBackup(gens map[string]gopter.Gen) { + gens["BackupRetentionDays"] = gen.PtrOf(gen.Int()) + gens["GeoRedundantBackup"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Backup_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Backup_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForBackup_STATUS, Backup_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForBackup_STATUS runs a test to see if a specific instance of Backup_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForBackup_STATUS(subject Backup_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Backup_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Backup_STATUS instances for property testing - lazily instantiated by Backup_STATUSGenerator() +var backup_STATUSGenerator gopter.Gen + +// Backup_STATUSGenerator returns a generator of Backup_STATUS instances for property testing. +func Backup_STATUSGenerator() gopter.Gen { + if backup_STATUSGenerator != nil { + return backup_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForBackup_STATUS(generators) + backup_STATUSGenerator = gen.Struct(reflect.TypeOf(Backup_STATUS{}), generators) + + return backup_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForBackup_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForBackup_STATUS(gens map[string]gopter.Gen) { + gens["BackupRetentionDays"] = gen.PtrOf(gen.Int()) + gens["EarliestRestoreDate"] = gen.PtrOf(gen.AlphaString()) + gens["GeoRedundantBackup"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_DataEncryption_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DataEncryption via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDataEncryption, DataEncryptionGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDataEncryption runs a test to see if a specific instance of DataEncryption round trips to JSON and back losslessly +func RunJSONSerializationTestForDataEncryption(subject DataEncryption) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DataEncryption + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DataEncryption instances for property testing - lazily instantiated by DataEncryptionGenerator() +var dataEncryptionGenerator gopter.Gen + +// DataEncryptionGenerator returns a generator of DataEncryption instances for property testing. +func DataEncryptionGenerator() gopter.Gen { + if dataEncryptionGenerator != nil { + return dataEncryptionGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDataEncryption(generators) + dataEncryptionGenerator = gen.Struct(reflect.TypeOf(DataEncryption{}), generators) + + return dataEncryptionGenerator +} + +// AddIndependentPropertyGeneratorsForDataEncryption is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDataEncryption(gens map[string]gopter.Gen) { + gens["GeoBackupKeyURI"] = gen.PtrOf(gen.AlphaString()) + gens["PrimaryKeyURI"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_DataEncryption_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of DataEncryption_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForDataEncryption_STATUS, DataEncryption_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForDataEncryption_STATUS runs a test to see if a specific instance of DataEncryption_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForDataEncryption_STATUS(subject DataEncryption_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual DataEncryption_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of DataEncryption_STATUS instances for property testing - lazily instantiated by +// DataEncryption_STATUSGenerator() +var dataEncryption_STATUSGenerator gopter.Gen + +// DataEncryption_STATUSGenerator returns a generator of DataEncryption_STATUS instances for property testing. +func DataEncryption_STATUSGenerator() gopter.Gen { + if dataEncryption_STATUSGenerator != nil { + return dataEncryption_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForDataEncryption_STATUS(generators) + dataEncryption_STATUSGenerator = gen.Struct(reflect.TypeOf(DataEncryption_STATUS{}), generators) + + return dataEncryption_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForDataEncryption_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForDataEncryption_STATUS(gens map[string]gopter.Gen) { + gens["GeoBackupKeyURI"] = gen.PtrOf(gen.AlphaString()) + gens["GeoBackupUserAssignedIdentityId"] = gen.PtrOf(gen.AlphaString()) + gens["PrimaryKeyURI"] = gen.PtrOf(gen.AlphaString()) + gens["PrimaryUserAssignedIdentityId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_FlexibleServerOperatorSpec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServerOperatorSpec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServerOperatorSpec, FlexibleServerOperatorSpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServerOperatorSpec runs a test to see if a specific instance of FlexibleServerOperatorSpec round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServerOperatorSpec(subject FlexibleServerOperatorSpec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServerOperatorSpec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServerOperatorSpec instances for property testing - lazily instantiated by +// FlexibleServerOperatorSpecGenerator() +var flexibleServerOperatorSpecGenerator gopter.Gen + +// FlexibleServerOperatorSpecGenerator returns a generator of FlexibleServerOperatorSpec instances for property testing. +func FlexibleServerOperatorSpecGenerator() gopter.Gen { + if flexibleServerOperatorSpecGenerator != nil { + return flexibleServerOperatorSpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForFlexibleServerOperatorSpec(generators) + flexibleServerOperatorSpecGenerator = gen.Struct(reflect.TypeOf(FlexibleServerOperatorSpec{}), generators) + + return flexibleServerOperatorSpecGenerator +} + +// AddRelatedPropertyGeneratorsForFlexibleServerOperatorSpec is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServerOperatorSpec(gens map[string]gopter.Gen) { + gens["ConfigMaps"] = gen.PtrOf(FlexibleServerOperatorConfigMapsGenerator()) + gens["Secrets"] = gen.PtrOf(FlexibleServerOperatorSecretsGenerator()) +} + +func Test_HighAvailability_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HighAvailability via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHighAvailability, HighAvailabilityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHighAvailability runs a test to see if a specific instance of HighAvailability round trips to JSON and back losslessly +func RunJSONSerializationTestForHighAvailability(subject HighAvailability) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HighAvailability + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HighAvailability instances for property testing - lazily instantiated by HighAvailabilityGenerator() +var highAvailabilityGenerator gopter.Gen + +// HighAvailabilityGenerator returns a generator of HighAvailability instances for property testing. +func HighAvailabilityGenerator() gopter.Gen { + if highAvailabilityGenerator != nil { + return highAvailabilityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHighAvailability(generators) + highAvailabilityGenerator = gen.Struct(reflect.TypeOf(HighAvailability{}), generators) + + return highAvailabilityGenerator +} + +// AddIndependentPropertyGeneratorsForHighAvailability is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHighAvailability(gens map[string]gopter.Gen) { + gens["Mode"] = gen.PtrOf(gen.AlphaString()) + gens["StandbyAvailabilityZone"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_HighAvailability_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of HighAvailability_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForHighAvailability_STATUS, HighAvailability_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForHighAvailability_STATUS runs a test to see if a specific instance of HighAvailability_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForHighAvailability_STATUS(subject HighAvailability_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual HighAvailability_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of HighAvailability_STATUS instances for property testing - lazily instantiated by +// HighAvailability_STATUSGenerator() +var highAvailability_STATUSGenerator gopter.Gen + +// HighAvailability_STATUSGenerator returns a generator of HighAvailability_STATUS instances for property testing. +func HighAvailability_STATUSGenerator() gopter.Gen { + if highAvailability_STATUSGenerator != nil { + return highAvailability_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForHighAvailability_STATUS(generators) + highAvailability_STATUSGenerator = gen.Struct(reflect.TypeOf(HighAvailability_STATUS{}), generators) + + return highAvailability_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForHighAvailability_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForHighAvailability_STATUS(gens map[string]gopter.Gen) { + gens["Mode"] = gen.PtrOf(gen.AlphaString()) + gens["StandbyAvailabilityZone"] = gen.PtrOf(gen.AlphaString()) + gens["State"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ImportSourceProperties_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ImportSourceProperties via JSON returns original", + prop.ForAll(RunJSONSerializationTestForImportSourceProperties, ImportSourcePropertiesGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForImportSourceProperties runs a test to see if a specific instance of ImportSourceProperties round trips to JSON and back losslessly +func RunJSONSerializationTestForImportSourceProperties(subject ImportSourceProperties) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ImportSourceProperties + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ImportSourceProperties instances for property testing - lazily instantiated by +// ImportSourcePropertiesGenerator() +var importSourcePropertiesGenerator gopter.Gen + +// ImportSourcePropertiesGenerator returns a generator of ImportSourceProperties instances for property testing. +func ImportSourcePropertiesGenerator() gopter.Gen { + if importSourcePropertiesGenerator != nil { + return importSourcePropertiesGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForImportSourceProperties(generators) + importSourcePropertiesGenerator = gen.Struct(reflect.TypeOf(ImportSourceProperties{}), generators) + + return importSourcePropertiesGenerator +} + +// AddIndependentPropertyGeneratorsForImportSourceProperties is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForImportSourceProperties(gens map[string]gopter.Gen) { + gens["DataDirPath"] = gen.PtrOf(gen.AlphaString()) + gens["StorageType"] = gen.PtrOf(gen.AlphaString()) + gens["StorageUrl"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_ImportSourceProperties_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of ImportSourceProperties_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForImportSourceProperties_STATUS, ImportSourceProperties_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForImportSourceProperties_STATUS runs a test to see if a specific instance of ImportSourceProperties_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForImportSourceProperties_STATUS(subject ImportSourceProperties_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual ImportSourceProperties_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of ImportSourceProperties_STATUS instances for property testing - lazily instantiated by +// ImportSourceProperties_STATUSGenerator() +var importSourceProperties_STATUSGenerator gopter.Gen + +// ImportSourceProperties_STATUSGenerator returns a generator of ImportSourceProperties_STATUS instances for property testing. +func ImportSourceProperties_STATUSGenerator() gopter.Gen { + if importSourceProperties_STATUSGenerator != nil { + return importSourceProperties_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForImportSourceProperties_STATUS(generators) + importSourceProperties_STATUSGenerator = gen.Struct(reflect.TypeOf(ImportSourceProperties_STATUS{}), generators) + + return importSourceProperties_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForImportSourceProperties_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForImportSourceProperties_STATUS(gens map[string]gopter.Gen) { + gens["DataDirPath"] = gen.PtrOf(gen.AlphaString()) + gens["StorageType"] = gen.PtrOf(gen.AlphaString()) + gens["StorageUrl"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_MaintenanceWindow_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceWindow via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceWindow, MaintenanceWindowGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceWindow runs a test to see if a specific instance of MaintenanceWindow round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceWindow(subject MaintenanceWindow) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceWindow + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceWindow instances for property testing - lazily instantiated by MaintenanceWindowGenerator() +var maintenanceWindowGenerator gopter.Gen + +// MaintenanceWindowGenerator returns a generator of MaintenanceWindow instances for property testing. +func MaintenanceWindowGenerator() gopter.Gen { + if maintenanceWindowGenerator != nil { + return maintenanceWindowGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow(generators) + maintenanceWindowGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow{}), generators) + + return maintenanceWindowGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceWindow is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceWindow(gens map[string]gopter.Gen) { + gens["CustomWindow"] = gen.PtrOf(gen.AlphaString()) + gens["DayOfWeek"] = gen.PtrOf(gen.Int()) + gens["StartHour"] = gen.PtrOf(gen.Int()) + gens["StartMinute"] = gen.PtrOf(gen.Int()) +} + +func Test_MaintenanceWindow_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MaintenanceWindow_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMaintenanceWindow_STATUS, MaintenanceWindow_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMaintenanceWindow_STATUS runs a test to see if a specific instance of MaintenanceWindow_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMaintenanceWindow_STATUS(subject MaintenanceWindow_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MaintenanceWindow_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MaintenanceWindow_STATUS instances for property testing - lazily instantiated by +// MaintenanceWindow_STATUSGenerator() +var maintenanceWindow_STATUSGenerator gopter.Gen + +// MaintenanceWindow_STATUSGenerator returns a generator of MaintenanceWindow_STATUS instances for property testing. +func MaintenanceWindow_STATUSGenerator() gopter.Gen { + if maintenanceWindow_STATUSGenerator != nil { + return maintenanceWindow_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS(generators) + maintenanceWindow_STATUSGenerator = gen.Struct(reflect.TypeOf(MaintenanceWindow_STATUS{}), generators) + + return maintenanceWindow_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMaintenanceWindow_STATUS(gens map[string]gopter.Gen) { + gens["CustomWindow"] = gen.PtrOf(gen.AlphaString()) + gens["DayOfWeek"] = gen.PtrOf(gen.Int()) + gens["StartHour"] = gen.PtrOf(gen.Int()) + gens["StartMinute"] = gen.PtrOf(gen.Int()) +} + +func Test_MySQLServerIdentity_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MySQLServerIdentity via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMySQLServerIdentity, MySQLServerIdentityGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMySQLServerIdentity runs a test to see if a specific instance of MySQLServerIdentity round trips to JSON and back losslessly +func RunJSONSerializationTestForMySQLServerIdentity(subject MySQLServerIdentity) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MySQLServerIdentity + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MySQLServerIdentity instances for property testing - lazily instantiated by +// MySQLServerIdentityGenerator() +var mySQLServerIdentityGenerator gopter.Gen + +// MySQLServerIdentityGenerator returns a generator of MySQLServerIdentity instances for property testing. +// We first initialize mySQLServerIdentityGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func MySQLServerIdentityGenerator() gopter.Gen { + if mySQLServerIdentityGenerator != nil { + return mySQLServerIdentityGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMySQLServerIdentity(generators) + mySQLServerIdentityGenerator = gen.Struct(reflect.TypeOf(MySQLServerIdentity{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMySQLServerIdentity(generators) + AddRelatedPropertyGeneratorsForMySQLServerIdentity(generators) + mySQLServerIdentityGenerator = gen.Struct(reflect.TypeOf(MySQLServerIdentity{}), generators) + + return mySQLServerIdentityGenerator +} + +// AddIndependentPropertyGeneratorsForMySQLServerIdentity is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMySQLServerIdentity(gens map[string]gopter.Gen) { + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForMySQLServerIdentity is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForMySQLServerIdentity(gens map[string]gopter.Gen) { + gens["UserAssignedIdentities"] = gen.SliceOf(UserAssignedIdentityDetailsGenerator()) +} + +func Test_MySQLServerIdentity_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MySQLServerIdentity_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMySQLServerIdentity_STATUS, MySQLServerIdentity_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMySQLServerIdentity_STATUS runs a test to see if a specific instance of MySQLServerIdentity_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMySQLServerIdentity_STATUS(subject MySQLServerIdentity_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MySQLServerIdentity_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MySQLServerIdentity_STATUS instances for property testing - lazily instantiated by +// MySQLServerIdentity_STATUSGenerator() +var mySQLServerIdentity_STATUSGenerator gopter.Gen + +// MySQLServerIdentity_STATUSGenerator returns a generator of MySQLServerIdentity_STATUS instances for property testing. +func MySQLServerIdentity_STATUSGenerator() gopter.Gen { + if mySQLServerIdentity_STATUSGenerator != nil { + return mySQLServerIdentity_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMySQLServerIdentity_STATUS(generators) + mySQLServerIdentity_STATUSGenerator = gen.Struct(reflect.TypeOf(MySQLServerIdentity_STATUS{}), generators) + + return mySQLServerIdentity_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMySQLServerIdentity_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMySQLServerIdentity_STATUS(gens map[string]gopter.Gen) { + gens["PrincipalId"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_MySQLServerSku_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MySQLServerSku via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMySQLServerSku, MySQLServerSkuGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMySQLServerSku runs a test to see if a specific instance of MySQLServerSku round trips to JSON and back losslessly +func RunJSONSerializationTestForMySQLServerSku(subject MySQLServerSku) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MySQLServerSku + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MySQLServerSku instances for property testing - lazily instantiated by MySQLServerSkuGenerator() +var mySQLServerSkuGenerator gopter.Gen + +// MySQLServerSkuGenerator returns a generator of MySQLServerSku instances for property testing. +func MySQLServerSkuGenerator() gopter.Gen { + if mySQLServerSkuGenerator != nil { + return mySQLServerSkuGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMySQLServerSku(generators) + mySQLServerSkuGenerator = gen.Struct(reflect.TypeOf(MySQLServerSku{}), generators) + + return mySQLServerSkuGenerator +} + +// AddIndependentPropertyGeneratorsForMySQLServerSku is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMySQLServerSku(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tier"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_MySQLServerSku_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of MySQLServerSku_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForMySQLServerSku_STATUS, MySQLServerSku_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForMySQLServerSku_STATUS runs a test to see if a specific instance of MySQLServerSku_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForMySQLServerSku_STATUS(subject MySQLServerSku_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual MySQLServerSku_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of MySQLServerSku_STATUS instances for property testing - lazily instantiated by +// MySQLServerSku_STATUSGenerator() +var mySQLServerSku_STATUSGenerator gopter.Gen + +// MySQLServerSku_STATUSGenerator returns a generator of MySQLServerSku_STATUS instances for property testing. +func MySQLServerSku_STATUSGenerator() gopter.Gen { + if mySQLServerSku_STATUSGenerator != nil { + return mySQLServerSku_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForMySQLServerSku_STATUS(generators) + mySQLServerSku_STATUSGenerator = gen.Struct(reflect.TypeOf(MySQLServerSku_STATUS{}), generators) + + return mySQLServerSku_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForMySQLServerSku_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForMySQLServerSku_STATUS(gens map[string]gopter.Gen) { + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Tier"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Network_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Network via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNetwork, NetworkGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNetwork runs a test to see if a specific instance of Network round trips to JSON and back losslessly +func RunJSONSerializationTestForNetwork(subject Network) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Network + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Network instances for property testing - lazily instantiated by NetworkGenerator() +var networkGenerator gopter.Gen + +// NetworkGenerator returns a generator of Network instances for property testing. +func NetworkGenerator() gopter.Gen { + if networkGenerator != nil { + return networkGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNetwork(generators) + networkGenerator = gen.Struct(reflect.TypeOf(Network{}), generators) + + return networkGenerator +} + +// AddIndependentPropertyGeneratorsForNetwork is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNetwork(gens map[string]gopter.Gen) { + gens["PublicNetworkAccess"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Network_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Network_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForNetwork_STATUS, Network_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForNetwork_STATUS runs a test to see if a specific instance of Network_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForNetwork_STATUS(subject Network_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Network_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Network_STATUS instances for property testing - lazily instantiated by Network_STATUSGenerator() +var network_STATUSGenerator gopter.Gen + +// Network_STATUSGenerator returns a generator of Network_STATUS instances for property testing. +func Network_STATUSGenerator() gopter.Gen { + if network_STATUSGenerator != nil { + return network_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForNetwork_STATUS(generators) + network_STATUSGenerator = gen.Struct(reflect.TypeOf(Network_STATUS{}), generators) + + return network_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForNetwork_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForNetwork_STATUS(gens map[string]gopter.Gen) { + gens["DelegatedSubnetResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["PrivateDnsZoneResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["PublicNetworkAccess"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_PrivateEndpointConnection_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of PrivateEndpointConnection_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForPrivateEndpointConnection_STATUS, PrivateEndpointConnection_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForPrivateEndpointConnection_STATUS runs a test to see if a specific instance of PrivateEndpointConnection_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForPrivateEndpointConnection_STATUS(subject PrivateEndpointConnection_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual PrivateEndpointConnection_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of PrivateEndpointConnection_STATUS instances for property testing - lazily instantiated by +// PrivateEndpointConnection_STATUSGenerator() +var privateEndpointConnection_STATUSGenerator gopter.Gen + +// PrivateEndpointConnection_STATUSGenerator returns a generator of PrivateEndpointConnection_STATUS instances for property testing. +func PrivateEndpointConnection_STATUSGenerator() gopter.Gen { + if privateEndpointConnection_STATUSGenerator != nil { + return privateEndpointConnection_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForPrivateEndpointConnection_STATUS(generators) + privateEndpointConnection_STATUSGenerator = gen.Struct(reflect.TypeOf(PrivateEndpointConnection_STATUS{}), generators) + + return privateEndpointConnection_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForPrivateEndpointConnection_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForPrivateEndpointConnection_STATUS(gens map[string]gopter.Gen) { + gens["Id"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_Storage_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Storage via JSON returns original", + prop.ForAll(RunJSONSerializationTestForStorage, StorageGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForStorage runs a test to see if a specific instance of Storage round trips to JSON and back losslessly +func RunJSONSerializationTestForStorage(subject Storage) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Storage + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Storage instances for property testing - lazily instantiated by StorageGenerator() +var storageGenerator gopter.Gen + +// StorageGenerator returns a generator of Storage instances for property testing. +func StorageGenerator() gopter.Gen { + if storageGenerator != nil { + return storageGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForStorage(generators) + storageGenerator = gen.Struct(reflect.TypeOf(Storage{}), generators) + + return storageGenerator +} + +// AddIndependentPropertyGeneratorsForStorage is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForStorage(gens map[string]gopter.Gen) { + gens["AutoGrow"] = gen.PtrOf(gen.AlphaString()) + gens["AutoIoScaling"] = gen.PtrOf(gen.AlphaString()) + gens["Iops"] = gen.PtrOf(gen.Int()) + gens["LogOnDisk"] = gen.PtrOf(gen.AlphaString()) + gens["StorageSizeGB"] = gen.PtrOf(gen.Int()) +} + +func Test_Storage_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of Storage_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForStorage_STATUS, Storage_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForStorage_STATUS runs a test to see if a specific instance of Storage_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForStorage_STATUS(subject Storage_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual Storage_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of Storage_STATUS instances for property testing - lazily instantiated by Storage_STATUSGenerator() +var storage_STATUSGenerator gopter.Gen + +// Storage_STATUSGenerator returns a generator of Storage_STATUS instances for property testing. +func Storage_STATUSGenerator() gopter.Gen { + if storage_STATUSGenerator != nil { + return storage_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForStorage_STATUS(generators) + storage_STATUSGenerator = gen.Struct(reflect.TypeOf(Storage_STATUS{}), generators) + + return storage_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForStorage_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForStorage_STATUS(gens map[string]gopter.Gen) { + gens["AutoGrow"] = gen.PtrOf(gen.AlphaString()) + gens["AutoIoScaling"] = gen.PtrOf(gen.AlphaString()) + gens["Iops"] = gen.PtrOf(gen.Int()) + gens["LogOnDisk"] = gen.PtrOf(gen.AlphaString()) + gens["StorageSizeGB"] = gen.PtrOf(gen.Int()) + gens["StorageSku"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_SystemData_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of SystemData_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForSystemData_STATUS, SystemData_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForSystemData_STATUS runs a test to see if a specific instance of SystemData_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForSystemData_STATUS(subject SystemData_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual SystemData_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of SystemData_STATUS instances for property testing - lazily instantiated by SystemData_STATUSGenerator() +var systemData_STATUSGenerator gopter.Gen + +// SystemData_STATUSGenerator returns a generator of SystemData_STATUS instances for property testing. +func SystemData_STATUSGenerator() gopter.Gen { + if systemData_STATUSGenerator != nil { + return systemData_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForSystemData_STATUS(generators) + systemData_STATUSGenerator = gen.Struct(reflect.TypeOf(SystemData_STATUS{}), generators) + + return systemData_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForSystemData_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForSystemData_STATUS(gens map[string]gopter.Gen) { + gens["CreatedAt"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedBy"] = gen.PtrOf(gen.AlphaString()) + gens["CreatedByType"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedAt"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedBy"] = gen.PtrOf(gen.AlphaString()) + gens["LastModifiedByType"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_FlexibleServerOperatorConfigMaps_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServerOperatorConfigMaps via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServerOperatorConfigMaps, FlexibleServerOperatorConfigMapsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServerOperatorConfigMaps runs a test to see if a specific instance of FlexibleServerOperatorConfigMaps round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServerOperatorConfigMaps(subject FlexibleServerOperatorConfigMaps) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServerOperatorConfigMaps + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServerOperatorConfigMaps instances for property testing - lazily instantiated by +// FlexibleServerOperatorConfigMapsGenerator() +var flexibleServerOperatorConfigMapsGenerator gopter.Gen + +// FlexibleServerOperatorConfigMapsGenerator returns a generator of FlexibleServerOperatorConfigMaps instances for property testing. +func FlexibleServerOperatorConfigMapsGenerator() gopter.Gen { + if flexibleServerOperatorConfigMapsGenerator != nil { + return flexibleServerOperatorConfigMapsGenerator + } + + generators := make(map[string]gopter.Gen) + flexibleServerOperatorConfigMapsGenerator = gen.Struct(reflect.TypeOf(FlexibleServerOperatorConfigMaps{}), generators) + + return flexibleServerOperatorConfigMapsGenerator +} + +func Test_FlexibleServerOperatorSecrets_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServerOperatorSecrets via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServerOperatorSecrets, FlexibleServerOperatorSecretsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServerOperatorSecrets runs a test to see if a specific instance of FlexibleServerOperatorSecrets round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServerOperatorSecrets(subject FlexibleServerOperatorSecrets) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServerOperatorSecrets + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServerOperatorSecrets instances for property testing - lazily instantiated by +// FlexibleServerOperatorSecretsGenerator() +var flexibleServerOperatorSecretsGenerator gopter.Gen + +// FlexibleServerOperatorSecretsGenerator returns a generator of FlexibleServerOperatorSecrets instances for property testing. +func FlexibleServerOperatorSecretsGenerator() gopter.Gen { + if flexibleServerOperatorSecretsGenerator != nil { + return flexibleServerOperatorSecretsGenerator + } + + generators := make(map[string]gopter.Gen) + flexibleServerOperatorSecretsGenerator = gen.Struct(reflect.TypeOf(FlexibleServerOperatorSecrets{}), generators) + + return flexibleServerOperatorSecretsGenerator +} + +func Test_UserAssignedIdentityDetails_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 100 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of UserAssignedIdentityDetails via JSON returns original", + prop.ForAll(RunJSONSerializationTestForUserAssignedIdentityDetails, UserAssignedIdentityDetailsGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForUserAssignedIdentityDetails runs a test to see if a specific instance of UserAssignedIdentityDetails round trips to JSON and back losslessly +func RunJSONSerializationTestForUserAssignedIdentityDetails(subject UserAssignedIdentityDetails) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual UserAssignedIdentityDetails + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of UserAssignedIdentityDetails instances for property testing - lazily instantiated by +// UserAssignedIdentityDetailsGenerator() +var userAssignedIdentityDetailsGenerator gopter.Gen + +// UserAssignedIdentityDetailsGenerator returns a generator of UserAssignedIdentityDetails instances for property testing. +func UserAssignedIdentityDetailsGenerator() gopter.Gen { + if userAssignedIdentityDetailsGenerator != nil { + return userAssignedIdentityDetailsGenerator + } + + generators := make(map[string]gopter.Gen) + userAssignedIdentityDetailsGenerator = gen.Struct(reflect.TypeOf(UserAssignedIdentityDetails{}), generators) + + return userAssignedIdentityDetailsGenerator +} diff --git a/v2/api/dbformysql/v1api20230630/storage/flexible_servers_administrator_types_gen.go b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_administrator_types_gen.go new file mode 100644 index 00000000000..6791da8c447 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_administrator_types_gen.go @@ -0,0 +1,219 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +kubebuilder:rbac:groups=dbformysql.azure.com,resources=flexibleserversadministrators,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=dbformysql.azure.com,resources={flexibleserversadministrators/status,flexibleserversadministrators/finalizers},verbs=get;update;patch + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Storage version of v1api20230630.FlexibleServersAdministrator +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-06-30/AzureADAdministrator.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} +type FlexibleServersAdministrator struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FlexibleServers_Administrator_Spec `json:"spec,omitempty"` + Status FlexibleServers_Administrator_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &FlexibleServersAdministrator{} + +// GetConditions returns the conditions of the resource +func (administrator *FlexibleServersAdministrator) GetConditions() conditions.Conditions { + return administrator.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (administrator *FlexibleServersAdministrator) SetConditions(conditions conditions.Conditions) { + administrator.Status.Conditions = conditions +} + +var _ genruntime.KubernetesResource = &FlexibleServersAdministrator{} + +// AzureName returns the Azure name of the resource (always "ActiveDirectory") +func (administrator *FlexibleServersAdministrator) AzureName() string { + return "ActiveDirectory" +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2023-06-30" +func (administrator FlexibleServersAdministrator) GetAPIVersion() string { + return string(APIVersion_Value) +} + +// GetResourceScope returns the scope of the resource +func (administrator *FlexibleServersAdministrator) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (administrator *FlexibleServersAdministrator) GetSpec() genruntime.ConvertibleSpec { + return &administrator.Spec +} + +// GetStatus returns the status of this resource +func (administrator *FlexibleServersAdministrator) GetStatus() genruntime.ConvertibleStatus { + return &administrator.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (administrator *FlexibleServersAdministrator) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.DBforMySQL/flexibleServers/administrators" +func (administrator *FlexibleServersAdministrator) GetType() string { + return "Microsoft.DBforMySQL/flexibleServers/administrators" +} + +// NewEmptyStatus returns a new empty (blank) status +func (administrator *FlexibleServersAdministrator) NewEmptyStatus() genruntime.ConvertibleStatus { + return &FlexibleServers_Administrator_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (administrator *FlexibleServersAdministrator) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(administrator.Spec) + return administrator.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (administrator *FlexibleServersAdministrator) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*FlexibleServers_Administrator_STATUS); ok { + administrator.Status = *st + return nil + } + + // Convert status to required version + var st FlexibleServers_Administrator_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + administrator.Status = st + return nil +} + +// Hub marks that this FlexibleServersAdministrator is the hub type for conversion +func (administrator *FlexibleServersAdministrator) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (administrator *FlexibleServersAdministrator) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: administrator.Spec.OriginalVersion, + Kind: "FlexibleServersAdministrator", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20230630.FlexibleServersAdministrator +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/AAD/stable/2023-06-30/AzureADAdministrator.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/administrators/{administratorName} +type FlexibleServersAdministratorList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FlexibleServersAdministrator `json:"items"` +} + +// Storage version of v1api20230630.FlexibleServers_Administrator_Spec +type FlexibleServers_Administrator_Spec struct { + AdministratorType *string `json:"administratorType,omitempty"` + + // IdentityResourceReference: The resource id of the identity used for AAD Authentication. + IdentityResourceReference *genruntime.ResourceReference `armReference:"IdentityResourceId" json:"identityResourceReference,omitempty"` + Login *string `json:"login,omitempty"` + OriginalVersion string `json:"originalVersion,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a dbformysql.azure.com/FlexibleServer resource + Owner *genruntime.KnownResourceReference `group:"dbformysql.azure.com" json:"owner,omitempty" kind:"FlexibleServer"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Sid *string `json:"sid,omitempty" optionalConfigMapPair:"Sid"` + SidFromConfig *genruntime.ConfigMapReference `json:"sidFromConfig,omitempty" optionalConfigMapPair:"Sid"` + TenantId *string `json:"tenantId,omitempty" optionalConfigMapPair:"TenantId"` + TenantIdFromConfig *genruntime.ConfigMapReference `json:"tenantIdFromConfig,omitempty" optionalConfigMapPair:"TenantId"` +} + +var _ genruntime.ConvertibleSpec = &FlexibleServers_Administrator_Spec{} + +// ConvertSpecFrom populates our FlexibleServers_Administrator_Spec from the provided source +func (administrator *FlexibleServers_Administrator_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == administrator { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(administrator) +} + +// ConvertSpecTo populates the provided destination from our FlexibleServers_Administrator_Spec +func (administrator *FlexibleServers_Administrator_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == administrator { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(administrator) +} + +// Storage version of v1api20230630.FlexibleServers_Administrator_STATUS +type FlexibleServers_Administrator_STATUS struct { + AdministratorType *string `json:"administratorType,omitempty"` + Conditions []conditions.Condition `json:"conditions,omitempty"` + Id *string `json:"id,omitempty"` + IdentityResourceId *string `json:"identityResourceId,omitempty"` + Login *string `json:"login,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Sid *string `json:"sid,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + TenantId *string `json:"tenantId,omitempty"` + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &FlexibleServers_Administrator_STATUS{} + +// ConvertStatusFrom populates our FlexibleServers_Administrator_STATUS from the provided source +func (administrator *FlexibleServers_Administrator_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == administrator { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(administrator) +} + +// ConvertStatusTo populates the provided destination from our FlexibleServers_Administrator_STATUS +func (administrator *FlexibleServers_Administrator_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == administrator { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(administrator) +} + +func init() { + SchemeBuilder.Register(&FlexibleServersAdministrator{}, &FlexibleServersAdministratorList{}) +} diff --git a/v2/api/dbformysql/v1api20230630/storage/flexible_servers_administrator_types_gen_test.go b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_administrator_types_gen_test.go new file mode 100644 index 00000000000..0799ccd3c96 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_administrator_types_gen_test.go @@ -0,0 +1,227 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServersAdministrator_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServersAdministrator via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServersAdministrator, FlexibleServersAdministratorGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServersAdministrator runs a test to see if a specific instance of FlexibleServersAdministrator round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServersAdministrator(subject FlexibleServersAdministrator) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServersAdministrator + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServersAdministrator instances for property testing - lazily instantiated by +// FlexibleServersAdministratorGenerator() +var flexibleServersAdministratorGenerator gopter.Gen + +// FlexibleServersAdministratorGenerator returns a generator of FlexibleServersAdministrator instances for property testing. +func FlexibleServersAdministratorGenerator() gopter.Gen { + if flexibleServersAdministratorGenerator != nil { + return flexibleServersAdministratorGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForFlexibleServersAdministrator(generators) + flexibleServersAdministratorGenerator = gen.Struct(reflect.TypeOf(FlexibleServersAdministrator{}), generators) + + return flexibleServersAdministratorGenerator +} + +// AddRelatedPropertyGeneratorsForFlexibleServersAdministrator is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServersAdministrator(gens map[string]gopter.Gen) { + gens["Spec"] = FlexibleServers_Administrator_SpecGenerator() + gens["Status"] = FlexibleServers_Administrator_STATUSGenerator() +} + +func Test_FlexibleServers_Administrator_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Administrator_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Administrator_Spec, FlexibleServers_Administrator_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Administrator_Spec runs a test to see if a specific instance of FlexibleServers_Administrator_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Administrator_Spec(subject FlexibleServers_Administrator_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Administrator_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Administrator_Spec instances for property testing - lazily instantiated by +// FlexibleServers_Administrator_SpecGenerator() +var flexibleServers_Administrator_SpecGenerator gopter.Gen + +// FlexibleServers_Administrator_SpecGenerator returns a generator of FlexibleServers_Administrator_Spec instances for property testing. +func FlexibleServers_Administrator_SpecGenerator() gopter.Gen { + if flexibleServers_Administrator_SpecGenerator != nil { + return flexibleServers_Administrator_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_Spec(generators) + flexibleServers_Administrator_SpecGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Administrator_Spec{}), generators) + + return flexibleServers_Administrator_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_Spec(gens map[string]gopter.Gen) { + gens["AdministratorType"] = gen.PtrOf(gen.AlphaString()) + gens["Login"] = gen.PtrOf(gen.AlphaString()) + gens["OriginalVersion"] = gen.AlphaString() + gens["Sid"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_FlexibleServers_Administrator_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Administrator_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Administrator_STATUS, FlexibleServers_Administrator_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Administrator_STATUS runs a test to see if a specific instance of FlexibleServers_Administrator_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Administrator_STATUS(subject FlexibleServers_Administrator_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Administrator_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Administrator_STATUS instances for property testing - lazily instantiated by +// FlexibleServers_Administrator_STATUSGenerator() +var flexibleServers_Administrator_STATUSGenerator gopter.Gen + +// FlexibleServers_Administrator_STATUSGenerator returns a generator of FlexibleServers_Administrator_STATUS instances for property testing. +// We first initialize flexibleServers_Administrator_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_Administrator_STATUSGenerator() gopter.Gen { + if flexibleServers_Administrator_STATUSGenerator != nil { + return flexibleServers_Administrator_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_STATUS(generators) + flexibleServers_Administrator_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Administrator_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_STATUS(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_Administrator_STATUS(generators) + flexibleServers_Administrator_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Administrator_STATUS{}), generators) + + return flexibleServers_Administrator_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Administrator_STATUS(gens map[string]gopter.Gen) { + gens["AdministratorType"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["IdentityResourceId"] = gen.PtrOf(gen.AlphaString()) + gens["Login"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Sid"] = gen.PtrOf(gen.AlphaString()) + gens["TenantId"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_Administrator_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_Administrator_STATUS(gens map[string]gopter.Gen) { + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} diff --git a/v2/api/dbformysql/v1api20230630/storage/flexible_servers_configuration_types_gen.go b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_configuration_types_gen.go new file mode 100644 index 00000000000..5ecc1694727 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_configuration_types_gen.go @@ -0,0 +1,221 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +kubebuilder:rbac:groups=dbformysql.azure.com,resources=flexibleserversconfigurations,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=dbformysql.azure.com,resources={flexibleserversconfigurations/status,flexibleserversconfigurations/finalizers},verbs=get;update;patch + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Storage version of v1api20230630.FlexibleServersConfiguration +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-06-30/Configurations.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} +type FlexibleServersConfiguration struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FlexibleServers_Configuration_Spec `json:"spec,omitempty"` + Status FlexibleServers_Configuration_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &FlexibleServersConfiguration{} + +// GetConditions returns the conditions of the resource +func (configuration *FlexibleServersConfiguration) GetConditions() conditions.Conditions { + return configuration.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (configuration *FlexibleServersConfiguration) SetConditions(conditions conditions.Conditions) { + configuration.Status.Conditions = conditions +} + +var _ genruntime.KubernetesResource = &FlexibleServersConfiguration{} + +// AzureName returns the Azure name of the resource +func (configuration *FlexibleServersConfiguration) AzureName() string { + return configuration.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2023-06-30" +func (configuration FlexibleServersConfiguration) GetAPIVersion() string { + return string(APIVersion_Value) +} + +// GetResourceScope returns the scope of the resource +func (configuration *FlexibleServersConfiguration) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (configuration *FlexibleServersConfiguration) GetSpec() genruntime.ConvertibleSpec { + return &configuration.Spec +} + +// GetStatus returns the status of this resource +func (configuration *FlexibleServersConfiguration) GetStatus() genruntime.ConvertibleStatus { + return &configuration.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (configuration *FlexibleServersConfiguration) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.DBforMySQL/flexibleServers/configurations" +func (configuration *FlexibleServersConfiguration) GetType() string { + return "Microsoft.DBforMySQL/flexibleServers/configurations" +} + +// NewEmptyStatus returns a new empty (blank) status +func (configuration *FlexibleServersConfiguration) NewEmptyStatus() genruntime.ConvertibleStatus { + return &FlexibleServers_Configuration_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (configuration *FlexibleServersConfiguration) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(configuration.Spec) + return configuration.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (configuration *FlexibleServersConfiguration) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*FlexibleServers_Configuration_STATUS); ok { + configuration.Status = *st + return nil + } + + // Convert status to required version + var st FlexibleServers_Configuration_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + configuration.Status = st + return nil +} + +// Hub marks that this FlexibleServersConfiguration is the hub type for conversion +func (configuration *FlexibleServersConfiguration) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (configuration *FlexibleServersConfiguration) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: configuration.Spec.OriginalVersion, + Kind: "FlexibleServersConfiguration", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20230630.FlexibleServersConfiguration +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Configurations/stable/2023-06-30/Configurations.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/configurations/{configurationName} +type FlexibleServersConfigurationList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FlexibleServersConfiguration `json:"items"` +} + +// Storage version of v1api20230630.FlexibleServers_Configuration_Spec +type FlexibleServers_Configuration_Spec struct { + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + CurrentValue *string `json:"currentValue,omitempty"` + OriginalVersion string `json:"originalVersion,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a dbformysql.azure.com/FlexibleServer resource + Owner *genruntime.KnownResourceReference `group:"dbformysql.azure.com" json:"owner,omitempty" kind:"FlexibleServer"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Source *string `json:"source,omitempty"` + Value *string `json:"value,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &FlexibleServers_Configuration_Spec{} + +// ConvertSpecFrom populates our FlexibleServers_Configuration_Spec from the provided source +func (configuration *FlexibleServers_Configuration_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == configuration { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(configuration) +} + +// ConvertSpecTo populates the provided destination from our FlexibleServers_Configuration_Spec +func (configuration *FlexibleServers_Configuration_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == configuration { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(configuration) +} + +// Storage version of v1api20230630.FlexibleServers_Configuration_STATUS +type FlexibleServers_Configuration_STATUS struct { + AllowedValues *string `json:"allowedValues,omitempty"` + Conditions []conditions.Condition `json:"conditions,omitempty"` + CurrentValue *string `json:"currentValue,omitempty"` + DataType *string `json:"dataType,omitempty"` + DefaultValue *string `json:"defaultValue,omitempty"` + Description *string `json:"description,omitempty"` + DocumentationLink *string `json:"documentationLink,omitempty"` + Id *string `json:"id,omitempty"` + IsConfigPendingRestart *string `json:"isConfigPendingRestart,omitempty"` + IsDynamicConfig *string `json:"isDynamicConfig,omitempty"` + IsReadOnly *string `json:"isReadOnly,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + Source *string `json:"source,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Type *string `json:"type,omitempty"` + Value *string `json:"value,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &FlexibleServers_Configuration_STATUS{} + +// ConvertStatusFrom populates our FlexibleServers_Configuration_STATUS from the provided source +func (configuration *FlexibleServers_Configuration_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == configuration { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(configuration) +} + +// ConvertStatusTo populates the provided destination from our FlexibleServers_Configuration_STATUS +func (configuration *FlexibleServers_Configuration_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == configuration { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(configuration) +} + +func init() { + SchemeBuilder.Register(&FlexibleServersConfiguration{}, &FlexibleServersConfigurationList{}) +} diff --git a/v2/api/dbformysql/v1api20230630/storage/flexible_servers_configuration_types_gen_test.go b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_configuration_types_gen_test.go new file mode 100644 index 00000000000..d4f00069c8b --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_configuration_types_gen_test.go @@ -0,0 +1,233 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServersConfiguration_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServersConfiguration via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServersConfiguration, FlexibleServersConfigurationGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServersConfiguration runs a test to see if a specific instance of FlexibleServersConfiguration round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServersConfiguration(subject FlexibleServersConfiguration) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServersConfiguration + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServersConfiguration instances for property testing - lazily instantiated by +// FlexibleServersConfigurationGenerator() +var flexibleServersConfigurationGenerator gopter.Gen + +// FlexibleServersConfigurationGenerator returns a generator of FlexibleServersConfiguration instances for property testing. +func FlexibleServersConfigurationGenerator() gopter.Gen { + if flexibleServersConfigurationGenerator != nil { + return flexibleServersConfigurationGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForFlexibleServersConfiguration(generators) + flexibleServersConfigurationGenerator = gen.Struct(reflect.TypeOf(FlexibleServersConfiguration{}), generators) + + return flexibleServersConfigurationGenerator +} + +// AddRelatedPropertyGeneratorsForFlexibleServersConfiguration is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServersConfiguration(gens map[string]gopter.Gen) { + gens["Spec"] = FlexibleServers_Configuration_SpecGenerator() + gens["Status"] = FlexibleServers_Configuration_STATUSGenerator() +} + +func Test_FlexibleServers_Configuration_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Configuration_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Configuration_Spec, FlexibleServers_Configuration_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Configuration_Spec runs a test to see if a specific instance of FlexibleServers_Configuration_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Configuration_Spec(subject FlexibleServers_Configuration_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Configuration_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Configuration_Spec instances for property testing - lazily instantiated by +// FlexibleServers_Configuration_SpecGenerator() +var flexibleServers_Configuration_SpecGenerator gopter.Gen + +// FlexibleServers_Configuration_SpecGenerator returns a generator of FlexibleServers_Configuration_Spec instances for property testing. +func FlexibleServers_Configuration_SpecGenerator() gopter.Gen { + if flexibleServers_Configuration_SpecGenerator != nil { + return flexibleServers_Configuration_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_Spec(generators) + flexibleServers_Configuration_SpecGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Configuration_Spec{}), generators) + + return flexibleServers_Configuration_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["CurrentValue"] = gen.PtrOf(gen.AlphaString()) + gens["OriginalVersion"] = gen.AlphaString() + gens["Source"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_FlexibleServers_Configuration_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Configuration_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Configuration_STATUS, FlexibleServers_Configuration_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Configuration_STATUS runs a test to see if a specific instance of FlexibleServers_Configuration_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Configuration_STATUS(subject FlexibleServers_Configuration_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Configuration_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Configuration_STATUS instances for property testing - lazily instantiated by +// FlexibleServers_Configuration_STATUSGenerator() +var flexibleServers_Configuration_STATUSGenerator gopter.Gen + +// FlexibleServers_Configuration_STATUSGenerator returns a generator of FlexibleServers_Configuration_STATUS instances for property testing. +// We first initialize flexibleServers_Configuration_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_Configuration_STATUSGenerator() gopter.Gen { + if flexibleServers_Configuration_STATUSGenerator != nil { + return flexibleServers_Configuration_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_STATUS(generators) + flexibleServers_Configuration_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Configuration_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_STATUS(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_Configuration_STATUS(generators) + flexibleServers_Configuration_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Configuration_STATUS{}), generators) + + return flexibleServers_Configuration_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Configuration_STATUS(gens map[string]gopter.Gen) { + gens["AllowedValues"] = gen.PtrOf(gen.AlphaString()) + gens["CurrentValue"] = gen.PtrOf(gen.AlphaString()) + gens["DataType"] = gen.PtrOf(gen.AlphaString()) + gens["DefaultValue"] = gen.PtrOf(gen.AlphaString()) + gens["Description"] = gen.PtrOf(gen.AlphaString()) + gens["DocumentationLink"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["IsConfigPendingRestart"] = gen.PtrOf(gen.AlphaString()) + gens["IsDynamicConfig"] = gen.PtrOf(gen.AlphaString()) + gens["IsReadOnly"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Source"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) + gens["Value"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_Configuration_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_Configuration_STATUS(gens map[string]gopter.Gen) { + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} diff --git a/v2/api/dbformysql/v1api20230630/storage/flexible_servers_database_types_gen.go b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_database_types_gen.go new file mode 100644 index 00000000000..b40bdb5c2d6 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_database_types_gen.go @@ -0,0 +1,212 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +kubebuilder:rbac:groups=dbformysql.azure.com,resources=flexibleserversdatabases,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=dbformysql.azure.com,resources={flexibleserversdatabases/status,flexibleserversdatabases/finalizers},verbs=get;update;patch + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Storage version of v1api20230630.FlexibleServersDatabase +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-06-30/Databases.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} +type FlexibleServersDatabase struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FlexibleServers_Database_Spec `json:"spec,omitempty"` + Status FlexibleServers_Database_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &FlexibleServersDatabase{} + +// GetConditions returns the conditions of the resource +func (database *FlexibleServersDatabase) GetConditions() conditions.Conditions { + return database.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (database *FlexibleServersDatabase) SetConditions(conditions conditions.Conditions) { + database.Status.Conditions = conditions +} + +var _ genruntime.KubernetesResource = &FlexibleServersDatabase{} + +// AzureName returns the Azure name of the resource +func (database *FlexibleServersDatabase) AzureName() string { + return database.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2023-06-30" +func (database FlexibleServersDatabase) GetAPIVersion() string { + return string(APIVersion_Value) +} + +// GetResourceScope returns the scope of the resource +func (database *FlexibleServersDatabase) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (database *FlexibleServersDatabase) GetSpec() genruntime.ConvertibleSpec { + return &database.Spec +} + +// GetStatus returns the status of this resource +func (database *FlexibleServersDatabase) GetStatus() genruntime.ConvertibleStatus { + return &database.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (database *FlexibleServersDatabase) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.DBforMySQL/flexibleServers/databases" +func (database *FlexibleServersDatabase) GetType() string { + return "Microsoft.DBforMySQL/flexibleServers/databases" +} + +// NewEmptyStatus returns a new empty (blank) status +func (database *FlexibleServersDatabase) NewEmptyStatus() genruntime.ConvertibleStatus { + return &FlexibleServers_Database_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (database *FlexibleServersDatabase) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(database.Spec) + return database.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (database *FlexibleServersDatabase) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*FlexibleServers_Database_STATUS); ok { + database.Status = *st + return nil + } + + // Convert status to required version + var st FlexibleServers_Database_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + database.Status = st + return nil +} + +// Hub marks that this FlexibleServersDatabase is the hub type for conversion +func (database *FlexibleServersDatabase) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (database *FlexibleServersDatabase) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: database.Spec.OriginalVersion, + Kind: "FlexibleServersDatabase", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20230630.FlexibleServersDatabase +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Databases/stable/2023-06-30/Databases.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/databases/{databaseName} +type FlexibleServersDatabaseList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FlexibleServersDatabase `json:"items"` +} + +// Storage version of v1api20230630.FlexibleServers_Database_Spec +type FlexibleServers_Database_Spec struct { + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + Charset *string `json:"charset,omitempty"` + Collation *string `json:"collation,omitempty"` + OriginalVersion string `json:"originalVersion,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a dbformysql.azure.com/FlexibleServer resource + Owner *genruntime.KnownResourceReference `group:"dbformysql.azure.com" json:"owner,omitempty" kind:"FlexibleServer"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &FlexibleServers_Database_Spec{} + +// ConvertSpecFrom populates our FlexibleServers_Database_Spec from the provided source +func (database *FlexibleServers_Database_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == database { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(database) +} + +// ConvertSpecTo populates the provided destination from our FlexibleServers_Database_Spec +func (database *FlexibleServers_Database_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == database { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(database) +} + +// Storage version of v1api20230630.FlexibleServers_Database_STATUS +type FlexibleServers_Database_STATUS struct { + Charset *string `json:"charset,omitempty"` + Collation *string `json:"collation,omitempty"` + Conditions []conditions.Condition `json:"conditions,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &FlexibleServers_Database_STATUS{} + +// ConvertStatusFrom populates our FlexibleServers_Database_STATUS from the provided source +func (database *FlexibleServers_Database_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == database { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(database) +} + +// ConvertStatusTo populates the provided destination from our FlexibleServers_Database_STATUS +func (database *FlexibleServers_Database_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == database { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(database) +} + +func init() { + SchemeBuilder.Register(&FlexibleServersDatabase{}, &FlexibleServersDatabaseList{}) +} diff --git a/v2/api/dbformysql/v1api20230630/storage/flexible_servers_database_types_gen_test.go b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_database_types_gen_test.go new file mode 100644 index 00000000000..fc5d2f5bb92 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_database_types_gen_test.go @@ -0,0 +1,223 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServersDatabase_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServersDatabase via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServersDatabase, FlexibleServersDatabaseGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServersDatabase runs a test to see if a specific instance of FlexibleServersDatabase round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServersDatabase(subject FlexibleServersDatabase) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServersDatabase + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServersDatabase instances for property testing - lazily instantiated by +// FlexibleServersDatabaseGenerator() +var flexibleServersDatabaseGenerator gopter.Gen + +// FlexibleServersDatabaseGenerator returns a generator of FlexibleServersDatabase instances for property testing. +func FlexibleServersDatabaseGenerator() gopter.Gen { + if flexibleServersDatabaseGenerator != nil { + return flexibleServersDatabaseGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForFlexibleServersDatabase(generators) + flexibleServersDatabaseGenerator = gen.Struct(reflect.TypeOf(FlexibleServersDatabase{}), generators) + + return flexibleServersDatabaseGenerator +} + +// AddRelatedPropertyGeneratorsForFlexibleServersDatabase is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServersDatabase(gens map[string]gopter.Gen) { + gens["Spec"] = FlexibleServers_Database_SpecGenerator() + gens["Status"] = FlexibleServers_Database_STATUSGenerator() +} + +func Test_FlexibleServers_Database_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Database_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Database_Spec, FlexibleServers_Database_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Database_Spec runs a test to see if a specific instance of FlexibleServers_Database_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Database_Spec(subject FlexibleServers_Database_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Database_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Database_Spec instances for property testing - lazily instantiated by +// FlexibleServers_Database_SpecGenerator() +var flexibleServers_Database_SpecGenerator gopter.Gen + +// FlexibleServers_Database_SpecGenerator returns a generator of FlexibleServers_Database_Spec instances for property testing. +func FlexibleServers_Database_SpecGenerator() gopter.Gen { + if flexibleServers_Database_SpecGenerator != nil { + return flexibleServers_Database_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Database_Spec(generators) + flexibleServers_Database_SpecGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Database_Spec{}), generators) + + return flexibleServers_Database_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Database_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Database_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["Charset"] = gen.PtrOf(gen.AlphaString()) + gens["Collation"] = gen.PtrOf(gen.AlphaString()) + gens["OriginalVersion"] = gen.AlphaString() +} + +func Test_FlexibleServers_Database_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_Database_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_Database_STATUS, FlexibleServers_Database_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_Database_STATUS runs a test to see if a specific instance of FlexibleServers_Database_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_Database_STATUS(subject FlexibleServers_Database_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_Database_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_Database_STATUS instances for property testing - lazily instantiated by +// FlexibleServers_Database_STATUSGenerator() +var flexibleServers_Database_STATUSGenerator gopter.Gen + +// FlexibleServers_Database_STATUSGenerator returns a generator of FlexibleServers_Database_STATUS instances for property testing. +// We first initialize flexibleServers_Database_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_Database_STATUSGenerator() gopter.Gen { + if flexibleServers_Database_STATUSGenerator != nil { + return flexibleServers_Database_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Database_STATUS(generators) + flexibleServers_Database_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Database_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_Database_STATUS(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_Database_STATUS(generators) + flexibleServers_Database_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_Database_STATUS{}), generators) + + return flexibleServers_Database_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_Database_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_Database_STATUS(gens map[string]gopter.Gen) { + gens["Charset"] = gen.PtrOf(gen.AlphaString()) + gens["Collation"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_Database_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_Database_STATUS(gens map[string]gopter.Gen) { + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} diff --git a/v2/api/dbformysql/v1api20230630/storage/flexible_servers_firewall_rule_types_gen.go b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_firewall_rule_types_gen.go new file mode 100644 index 00000000000..d418a66a094 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_firewall_rule_types_gen.go @@ -0,0 +1,212 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +// +kubebuilder:rbac:groups=dbformysql.azure.com,resources=flexibleserversfirewallrules,verbs=get;list;watch;create;update;patch;delete +// +kubebuilder:rbac:groups=dbformysql.azure.com,resources={flexibleserversfirewallrules/status,flexibleserversfirewallrules/finalizers},verbs=get;update;patch + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:storageversion +// +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +// +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +// +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +// +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +// Storage version of v1api20230630.FlexibleServersFirewallRule +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Firewall/stable/2023-06-30/FirewallRules.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} +type FlexibleServersFirewallRule struct { + metav1.TypeMeta `json:",inline"` + metav1.ObjectMeta `json:"metadata,omitempty"` + Spec FlexibleServers_FirewallRule_Spec `json:"spec,omitempty"` + Status FlexibleServers_FirewallRule_STATUS `json:"status,omitempty"` +} + +var _ conditions.Conditioner = &FlexibleServersFirewallRule{} + +// GetConditions returns the conditions of the resource +func (rule *FlexibleServersFirewallRule) GetConditions() conditions.Conditions { + return rule.Status.Conditions +} + +// SetConditions sets the conditions on the resource status +func (rule *FlexibleServersFirewallRule) SetConditions(conditions conditions.Conditions) { + rule.Status.Conditions = conditions +} + +var _ genruntime.KubernetesResource = &FlexibleServersFirewallRule{} + +// AzureName returns the Azure name of the resource +func (rule *FlexibleServersFirewallRule) AzureName() string { + return rule.Spec.AzureName +} + +// GetAPIVersion returns the ARM API version of the resource. This is always "2023-06-30" +func (rule FlexibleServersFirewallRule) GetAPIVersion() string { + return string(APIVersion_Value) +} + +// GetResourceScope returns the scope of the resource +func (rule *FlexibleServersFirewallRule) GetResourceScope() genruntime.ResourceScope { + return genruntime.ResourceScopeResourceGroup +} + +// GetSpec returns the specification of this resource +func (rule *FlexibleServersFirewallRule) GetSpec() genruntime.ConvertibleSpec { + return &rule.Spec +} + +// GetStatus returns the status of this resource +func (rule *FlexibleServersFirewallRule) GetStatus() genruntime.ConvertibleStatus { + return &rule.Status +} + +// GetSupportedOperations returns the operations supported by the resource +func (rule *FlexibleServersFirewallRule) GetSupportedOperations() []genruntime.ResourceOperation { + return []genruntime.ResourceOperation{ + genruntime.ResourceOperationDelete, + genruntime.ResourceOperationGet, + genruntime.ResourceOperationPut, + } +} + +// GetType returns the ARM Type of the resource. This is always "Microsoft.DBforMySQL/flexibleServers/firewallRules" +func (rule *FlexibleServersFirewallRule) GetType() string { + return "Microsoft.DBforMySQL/flexibleServers/firewallRules" +} + +// NewEmptyStatus returns a new empty (blank) status +func (rule *FlexibleServersFirewallRule) NewEmptyStatus() genruntime.ConvertibleStatus { + return &FlexibleServers_FirewallRule_STATUS{} +} + +// Owner returns the ResourceReference of the owner +func (rule *FlexibleServersFirewallRule) Owner() *genruntime.ResourceReference { + group, kind := genruntime.LookupOwnerGroupKind(rule.Spec) + return rule.Spec.Owner.AsResourceReference(group, kind) +} + +// SetStatus sets the status of this resource +func (rule *FlexibleServersFirewallRule) SetStatus(status genruntime.ConvertibleStatus) error { + // If we have exactly the right type of status, assign it + if st, ok := status.(*FlexibleServers_FirewallRule_STATUS); ok { + rule.Status = *st + return nil + } + + // Convert status to required version + var st FlexibleServers_FirewallRule_STATUS + err := status.ConvertStatusTo(&st) + if err != nil { + return errors.Wrap(err, "failed to convert status") + } + + rule.Status = st + return nil +} + +// Hub marks that this FlexibleServersFirewallRule is the hub type for conversion +func (rule *FlexibleServersFirewallRule) Hub() {} + +// OriginalGVK returns a GroupValueKind for the original API version used to create the resource +func (rule *FlexibleServersFirewallRule) OriginalGVK() *schema.GroupVersionKind { + return &schema.GroupVersionKind{ + Group: GroupVersion.Group, + Version: rule.Spec.OriginalVersion, + Kind: "FlexibleServersFirewallRule", + } +} + +// +kubebuilder:object:root=true +// Storage version of v1api20230630.FlexibleServersFirewallRule +// Generator information: +// - Generated from: /mysql/resource-manager/Microsoft.DBforMySQL/Firewall/stable/2023-06-30/FirewallRules.json +// - ARM URI: /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DBforMySQL/flexibleServers/{serverName}/firewallRules/{firewallRuleName} +type FlexibleServersFirewallRuleList struct { + metav1.TypeMeta `json:",inline"` + metav1.ListMeta `json:"metadata,omitempty"` + Items []FlexibleServersFirewallRule `json:"items"` +} + +// Storage version of v1api20230630.FlexibleServers_FirewallRule_Spec +type FlexibleServers_FirewallRule_Spec struct { + // AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it + // doesn't have to be. + AzureName string `json:"azureName,omitempty"` + EndIpAddress *string `json:"endIpAddress,omitempty"` + OriginalVersion string `json:"originalVersion,omitempty"` + + // +kubebuilder:validation:Required + // Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also + // controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a + // reference to a dbformysql.azure.com/FlexibleServer resource + Owner *genruntime.KnownResourceReference `group:"dbformysql.azure.com" json:"owner,omitempty" kind:"FlexibleServer"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + StartIpAddress *string `json:"startIpAddress,omitempty"` +} + +var _ genruntime.ConvertibleSpec = &FlexibleServers_FirewallRule_Spec{} + +// ConvertSpecFrom populates our FlexibleServers_FirewallRule_Spec from the provided source +func (rule *FlexibleServers_FirewallRule_Spec) ConvertSpecFrom(source genruntime.ConvertibleSpec) error { + if source == rule { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return source.ConvertSpecTo(rule) +} + +// ConvertSpecTo populates the provided destination from our FlexibleServers_FirewallRule_Spec +func (rule *FlexibleServers_FirewallRule_Spec) ConvertSpecTo(destination genruntime.ConvertibleSpec) error { + if destination == rule { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleSpec") + } + + return destination.ConvertSpecFrom(rule) +} + +// Storage version of v1api20230630.FlexibleServers_FirewallRule_STATUS +type FlexibleServers_FirewallRule_STATUS struct { + Conditions []conditions.Condition `json:"conditions,omitempty"` + EndIpAddress *string `json:"endIpAddress,omitempty"` + Id *string `json:"id,omitempty"` + Name *string `json:"name,omitempty"` + PropertyBag genruntime.PropertyBag `json:"$propertyBag,omitempty"` + StartIpAddress *string `json:"startIpAddress,omitempty"` + SystemData *SystemData_STATUS `json:"systemData,omitempty"` + Type *string `json:"type,omitempty"` +} + +var _ genruntime.ConvertibleStatus = &FlexibleServers_FirewallRule_STATUS{} + +// ConvertStatusFrom populates our FlexibleServers_FirewallRule_STATUS from the provided source +func (rule *FlexibleServers_FirewallRule_STATUS) ConvertStatusFrom(source genruntime.ConvertibleStatus) error { + if source == rule { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return source.ConvertStatusTo(rule) +} + +// ConvertStatusTo populates the provided destination from our FlexibleServers_FirewallRule_STATUS +func (rule *FlexibleServers_FirewallRule_STATUS) ConvertStatusTo(destination genruntime.ConvertibleStatus) error { + if destination == rule { + return errors.New("attempted conversion between unrelated implementations of github.com/Azure/azure-service-operator/v2/pkg/genruntime/ConvertibleStatus") + } + + return destination.ConvertStatusFrom(rule) +} + +func init() { + SchemeBuilder.Register(&FlexibleServersFirewallRule{}, &FlexibleServersFirewallRuleList{}) +} diff --git a/v2/api/dbformysql/v1api20230630/storage/flexible_servers_firewall_rule_types_gen_test.go b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_firewall_rule_types_gen_test.go new file mode 100644 index 00000000000..763ef82f072 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/storage/flexible_servers_firewall_rule_types_gen_test.go @@ -0,0 +1,223 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT license. +package storage + +import ( + "encoding/json" + "github.com/google/go-cmp/cmp" + "github.com/google/go-cmp/cmp/cmpopts" + "github.com/kr/pretty" + "github.com/kylelemons/godebug/diff" + "github.com/leanovate/gopter" + "github.com/leanovate/gopter/gen" + "github.com/leanovate/gopter/prop" + "os" + "reflect" + "testing" +) + +func Test_FlexibleServersFirewallRule_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 20 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServersFirewallRule via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServersFirewallRule, FlexibleServersFirewallRuleGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServersFirewallRule runs a test to see if a specific instance of FlexibleServersFirewallRule round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServersFirewallRule(subject FlexibleServersFirewallRule) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServersFirewallRule + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServersFirewallRule instances for property testing - lazily instantiated by +// FlexibleServersFirewallRuleGenerator() +var flexibleServersFirewallRuleGenerator gopter.Gen + +// FlexibleServersFirewallRuleGenerator returns a generator of FlexibleServersFirewallRule instances for property testing. +func FlexibleServersFirewallRuleGenerator() gopter.Gen { + if flexibleServersFirewallRuleGenerator != nil { + return flexibleServersFirewallRuleGenerator + } + + generators := make(map[string]gopter.Gen) + AddRelatedPropertyGeneratorsForFlexibleServersFirewallRule(generators) + flexibleServersFirewallRuleGenerator = gen.Struct(reflect.TypeOf(FlexibleServersFirewallRule{}), generators) + + return flexibleServersFirewallRuleGenerator +} + +// AddRelatedPropertyGeneratorsForFlexibleServersFirewallRule is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServersFirewallRule(gens map[string]gopter.Gen) { + gens["Spec"] = FlexibleServers_FirewallRule_SpecGenerator() + gens["Status"] = FlexibleServers_FirewallRule_STATUSGenerator() +} + +func Test_FlexibleServers_FirewallRule_Spec_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_FirewallRule_Spec via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_FirewallRule_Spec, FlexibleServers_FirewallRule_SpecGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_FirewallRule_Spec runs a test to see if a specific instance of FlexibleServers_FirewallRule_Spec round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_FirewallRule_Spec(subject FlexibleServers_FirewallRule_Spec) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_FirewallRule_Spec + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_FirewallRule_Spec instances for property testing - lazily instantiated by +// FlexibleServers_FirewallRule_SpecGenerator() +var flexibleServers_FirewallRule_SpecGenerator gopter.Gen + +// FlexibleServers_FirewallRule_SpecGenerator returns a generator of FlexibleServers_FirewallRule_Spec instances for property testing. +func FlexibleServers_FirewallRule_SpecGenerator() gopter.Gen { + if flexibleServers_FirewallRule_SpecGenerator != nil { + return flexibleServers_FirewallRule_SpecGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_Spec(generators) + flexibleServers_FirewallRule_SpecGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_FirewallRule_Spec{}), generators) + + return flexibleServers_FirewallRule_SpecGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_Spec is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_Spec(gens map[string]gopter.Gen) { + gens["AzureName"] = gen.AlphaString() + gens["EndIpAddress"] = gen.PtrOf(gen.AlphaString()) + gens["OriginalVersion"] = gen.AlphaString() + gens["StartIpAddress"] = gen.PtrOf(gen.AlphaString()) +} + +func Test_FlexibleServers_FirewallRule_STATUS_WhenSerializedToJson_DeserializesAsEqual(t *testing.T) { + t.Parallel() + parameters := gopter.DefaultTestParameters() + parameters.MinSuccessfulTests = 80 + parameters.MaxSize = 3 + properties := gopter.NewProperties(parameters) + properties.Property( + "Round trip of FlexibleServers_FirewallRule_STATUS via JSON returns original", + prop.ForAll(RunJSONSerializationTestForFlexibleServers_FirewallRule_STATUS, FlexibleServers_FirewallRule_STATUSGenerator())) + properties.TestingRun(t, gopter.NewFormatedReporter(true, 240, os.Stdout)) +} + +// RunJSONSerializationTestForFlexibleServers_FirewallRule_STATUS runs a test to see if a specific instance of FlexibleServers_FirewallRule_STATUS round trips to JSON and back losslessly +func RunJSONSerializationTestForFlexibleServers_FirewallRule_STATUS(subject FlexibleServers_FirewallRule_STATUS) string { + // Serialize to JSON + bin, err := json.Marshal(subject) + if err != nil { + return err.Error() + } + + // Deserialize back into memory + var actual FlexibleServers_FirewallRule_STATUS + err = json.Unmarshal(bin, &actual) + if err != nil { + return err.Error() + } + + // Check for outcome + match := cmp.Equal(subject, actual, cmpopts.EquateEmpty()) + if !match { + actualFmt := pretty.Sprint(actual) + subjectFmt := pretty.Sprint(subject) + result := diff.Diff(subjectFmt, actualFmt) + return result + } + + return "" +} + +// Generator of FlexibleServers_FirewallRule_STATUS instances for property testing - lazily instantiated by +// FlexibleServers_FirewallRule_STATUSGenerator() +var flexibleServers_FirewallRule_STATUSGenerator gopter.Gen + +// FlexibleServers_FirewallRule_STATUSGenerator returns a generator of FlexibleServers_FirewallRule_STATUS instances for property testing. +// We first initialize flexibleServers_FirewallRule_STATUSGenerator with a simplified generator based on the +// fields with primitive types then replacing it with a more complex one that also handles complex fields +// to ensure any cycles in the object graph properly terminate. +func FlexibleServers_FirewallRule_STATUSGenerator() gopter.Gen { + if flexibleServers_FirewallRule_STATUSGenerator != nil { + return flexibleServers_FirewallRule_STATUSGenerator + } + + generators := make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS(generators) + flexibleServers_FirewallRule_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_FirewallRule_STATUS{}), generators) + + // The above call to gen.Struct() captures the map, so create a new one + generators = make(map[string]gopter.Gen) + AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS(generators) + AddRelatedPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS(generators) + flexibleServers_FirewallRule_STATUSGenerator = gen.Struct(reflect.TypeOf(FlexibleServers_FirewallRule_STATUS{}), generators) + + return flexibleServers_FirewallRule_STATUSGenerator +} + +// AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS is a factory method for creating gopter generators +func AddIndependentPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS(gens map[string]gopter.Gen) { + gens["EndIpAddress"] = gen.PtrOf(gen.AlphaString()) + gens["Id"] = gen.PtrOf(gen.AlphaString()) + gens["Name"] = gen.PtrOf(gen.AlphaString()) + gens["StartIpAddress"] = gen.PtrOf(gen.AlphaString()) + gens["Type"] = gen.PtrOf(gen.AlphaString()) +} + +// AddRelatedPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS is a factory method for creating gopter generators +func AddRelatedPropertyGeneratorsForFlexibleServers_FirewallRule_STATUS(gens map[string]gopter.Gen) { + gens["SystemData"] = gen.PtrOf(SystemData_STATUSGenerator()) +} diff --git a/v2/api/dbformysql/v1api20230630/storage/groupversion_info_gen.go b/v2/api/dbformysql/v1api20230630/storage/groupversion_info_gen.go new file mode 100644 index 00000000000..0aea9ca9de3 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/storage/groupversion_info_gen.go @@ -0,0 +1,32 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by azure-service-operator-codegen. DO NOT EDIT. + +// Package storage contains API Schema definitions for the dbformysql storage API group +// +kubebuilder:object:generate=true +// All object properties are optional by default, this will be overridden when needed: +// +kubebuilder:validation:Optional +// +groupName=dbformysql.azure.com +// +versionName=v1api20230630storage +package storage + +import ( + "k8s.io/apimachinery/pkg/runtime/schema" + "sigs.k8s.io/controller-runtime/pkg/scheme" +) + +var ( + // GroupVersion is group version used to register these objects + GroupVersion = schema.GroupVersion{Group: "dbformysql.azure.com", Version: "v1api20230630storage"} + + // SchemeBuilder is used to add go types to the GroupVersionKind scheme + SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} + + // AddToScheme adds the types in this group-version to the given scheme. + AddToScheme = SchemeBuilder.AddToScheme + + localSchemeBuilder = SchemeBuilder.SchemeBuilder +) diff --git a/v2/api/dbformysql/v1api20230630/storage/structure.txt b/v2/api/dbformysql/v1api20230630/storage/structure.txt new file mode 100644 index 00000000000..6f00bba7307 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/storage/structure.txt @@ -0,0 +1,276 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage +├── APIVersion: Enum (1 value) +│ └── "2023-06-30" +├── FlexibleServer: Resource +│ ├── Owner: resources/v1apiv20191001.ResourceGroup +│ ├── Spec: Object (24 properties) +│ │ ├── AdministratorLogin: *string +│ │ ├── AdministratorLoginPassword: *genruntime.SecretReference +│ │ ├── AvailabilityZone: *string +│ │ ├── AzureName: string +│ │ ├── Backup: *Object (3 properties) +│ │ │ ├── BackupRetentionDays: *int +│ │ │ ├── GeoRedundantBackup: *string +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── CreateMode: *string +│ │ ├── DataEncryption: *Object (6 properties) +│ │ │ ├── GeoBackupKeyURI: *string +│ │ │ ├── GeoBackupUserAssignedIdentityReference: *genruntime.ResourceReference +│ │ │ ├── PrimaryKeyURI: *string +│ │ │ ├── PrimaryUserAssignedIdentityReference: *genruntime.ResourceReference +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Type: *string +│ │ ├── HighAvailability: *Object (3 properties) +│ │ │ ├── Mode: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── StandbyAvailabilityZone: *string +│ │ ├── Identity: *Object (3 properties) +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── Type: *string +│ │ │ └── UserAssignedIdentities: Object (2 properties)[] +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Reference: genruntime.ResourceReference +│ │ ├── ImportSourceProperties: *Object (5 properties) +│ │ │ ├── DataDirPath: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── SasToken: *genruntime.SecretReference +│ │ │ ├── StorageType: *string +│ │ │ └── StorageUrl: *string +│ │ ├── Location: *string +│ │ ├── MaintenanceWindow: *Object (5 properties) +│ │ │ ├── CustomWindow: *string +│ │ │ ├── DayOfWeek: *int +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ ├── StartHour: *int +│ │ │ └── StartMinute: *int +│ │ ├── Network: *Object (4 properties) +│ │ │ ├── DelegatedSubnetResourceReference: *genruntime.ResourceReference +│ │ │ ├── PrivateDnsZoneResourceReference: *genruntime.ResourceReference +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── PublicNetworkAccess: *string +│ │ ├── OperatorSpec: *Object (3 properties) +│ │ │ ├── ConfigMaps: *Object (3 properties) +│ │ │ │ ├── AdministratorLogin: *genruntime.ConfigMapDestination +│ │ │ │ ├── FullyQualifiedDomainName: *genruntime.ConfigMapDestination +│ │ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Secrets: *Object (2 properties) +│ │ │ ├── FullyQualifiedDomainName: *genruntime.SecretDestination +│ │ │ └── PropertyBag: genruntime.PropertyBag +│ │ ├── OriginalVersion: string +│ │ ├── Owner: *genruntime.KnownResourceReference +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── ReplicationRole: *string +│ │ ├── RestorePointInTime: *string +│ │ ├── Sku: *Object (3 properties) +│ │ │ ├── Name: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── Tier: *string +│ │ ├── SourceServerResourceReference: *genruntime.ResourceReference +│ │ ├── Storage: *Object (6 properties) +│ │ │ ├── AutoGrow: *string +│ │ │ ├── AutoIoScaling: *string +│ │ │ ├── Iops: *int +│ │ │ ├── LogOnDisk: *string +│ │ │ ├── PropertyBag: genruntime.PropertyBag +│ │ │ └── StorageSizeGB: *int +│ │ ├── Tags: map[string]string +│ │ └── Version: *string +│ └── Status: Object (28 properties) +│ ├── AdministratorLogin: *string +│ ├── AvailabilityZone: *string +│ ├── Backup: *Object (4 properties) +│ │ ├── BackupRetentionDays: *int +│ │ ├── EarliestRestoreDate: *string +│ │ ├── GeoRedundantBackup: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── Conditions: conditions.Condition[] +│ ├── CreateMode: *string +│ ├── DataEncryption: *Object (6 properties) +│ │ ├── GeoBackupKeyURI: *string +│ │ ├── GeoBackupUserAssignedIdentityId: *string +│ │ ├── PrimaryKeyURI: *string +│ │ ├── PrimaryUserAssignedIdentityId: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Type: *string +│ ├── FullyQualifiedDomainName: *string +│ ├── HighAvailability: *Object (4 properties) +│ │ ├── Mode: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── StandbyAvailabilityZone: *string +│ │ └── State: *string +│ ├── Id: *string +│ ├── Identity: *Object (5 properties) +│ │ ├── PrincipalId: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── TenantId: *string +│ │ ├── Type: *string +│ │ └── UserAssignedIdentities: map[string]v1.JSON +│ ├── ImportSourceProperties: *Object (4 properties) +│ │ ├── DataDirPath: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── StorageType: *string +│ │ └── StorageUrl: *string +│ ├── Location: *string +│ ├── MaintenanceWindow: *Object (5 properties) +│ │ ├── CustomWindow: *string +│ │ ├── DayOfWeek: *int +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── StartHour: *int +│ │ └── StartMinute: *int +│ ├── Name: *string +│ ├── Network: *Object (4 properties) +│ │ ├── DelegatedSubnetResourceId: *string +│ │ ├── PrivateDnsZoneResourceId: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── PublicNetworkAccess: *string +│ ├── PrivateEndpointConnections: Object (2 properties)[] +│ │ ├── Id: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── PropertyBag: genruntime.PropertyBag +│ ├── ReplicaCapacity: *int +│ ├── ReplicationRole: *string +│ ├── RestorePointInTime: *string +│ ├── Sku: *Object (3 properties) +│ │ ├── Name: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ └── Tier: *string +│ ├── SourceServerResourceId: *string +│ ├── State: *string +│ ├── Storage: *Object (7 properties) +│ │ ├── AutoGrow: *string +│ │ ├── AutoIoScaling: *string +│ │ ├── Iops: *int +│ │ ├── LogOnDisk: *string +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── StorageSizeGB: *int +│ │ └── StorageSku: *string +│ ├── SystemData: *Object (7 properties) +│ │ ├── CreatedAt: *string +│ │ ├── CreatedBy: *string +│ │ ├── CreatedByType: *string +│ │ ├── LastModifiedAt: *string +│ │ ├── LastModifiedBy: *string +│ │ ├── LastModifiedByType: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── Tags: map[string]string +│ ├── Type: *string +│ └── Version: *string +├── FlexibleServersAdministrator: Resource +│ ├── Owner: dbformysql/v1api20230630.FlexibleServer +│ ├── Spec: Object (10 properties) +│ │ ├── AdministratorType: *string +│ │ ├── IdentityResourceReference: *genruntime.ResourceReference +│ │ ├── Login: *string +│ │ ├── OriginalVersion: string +│ │ ├── Owner: *genruntime.KnownResourceReference +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Sid: *string +│ │ ├── SidFromConfig: *genruntime.ConfigMapReference +│ │ ├── TenantId: *string +│ │ └── TenantIdFromConfig: *genruntime.ConfigMapReference +│ └── Status: Object (11 properties) +│ ├── AdministratorType: *string +│ ├── Conditions: conditions.Condition[] +│ ├── Id: *string +│ ├── IdentityResourceId: *string +│ ├── Login: *string +│ ├── Name: *string +│ ├── PropertyBag: genruntime.PropertyBag +│ ├── Sid: *string +│ ├── SystemData: *Object (7 properties) +│ │ ├── CreatedAt: *string +│ │ ├── CreatedBy: *string +│ │ ├── CreatedByType: *string +│ │ ├── LastModifiedAt: *string +│ │ ├── LastModifiedBy: *string +│ │ ├── LastModifiedByType: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── TenantId: *string +│ └── Type: *string +├── FlexibleServersConfiguration: Resource +│ ├── Owner: dbformysql/v1api20230630.FlexibleServer +│ ├── Spec: Object (7 properties) +│ │ ├── AzureName: string +│ │ ├── CurrentValue: *string +│ │ ├── OriginalVersion: string +│ │ ├── Owner: *genruntime.KnownResourceReference +│ │ ├── PropertyBag: genruntime.PropertyBag +│ │ ├── Source: *string +│ │ └── Value: *string +│ └── Status: Object (17 properties) +│ ├── AllowedValues: *string +│ ├── Conditions: conditions.Condition[] +│ ├── CurrentValue: *string +│ ├── DataType: *string +│ ├── DefaultValue: *string +│ ├── Description: *string +│ ├── DocumentationLink: *string +│ ├── Id: *string +│ ├── IsConfigPendingRestart: *string +│ ├── IsDynamicConfig: *string +│ ├── IsReadOnly: *string +│ ├── Name: *string +│ ├── PropertyBag: genruntime.PropertyBag +│ ├── Source: *string +│ ├── SystemData: *Object (7 properties) +│ │ ├── CreatedAt: *string +│ │ ├── CreatedBy: *string +│ │ ├── CreatedByType: *string +│ │ ├── LastModifiedAt: *string +│ │ ├── LastModifiedBy: *string +│ │ ├── LastModifiedByType: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ ├── Type: *string +│ └── Value: *string +├── FlexibleServersDatabase: Resource +│ ├── Owner: dbformysql/v1api20230630.FlexibleServer +│ ├── Spec: Object (6 properties) +│ │ ├── AzureName: string +│ │ ├── Charset: *string +│ │ ├── Collation: *string +│ │ ├── OriginalVersion: string +│ │ ├── Owner: *genruntime.KnownResourceReference +│ │ └── PropertyBag: genruntime.PropertyBag +│ └── Status: Object (8 properties) +│ ├── Charset: *string +│ ├── Collation: *string +│ ├── Conditions: conditions.Condition[] +│ ├── Id: *string +│ ├── Name: *string +│ ├── PropertyBag: genruntime.PropertyBag +│ ├── SystemData: *Object (7 properties) +│ │ ├── CreatedAt: *string +│ │ ├── CreatedBy: *string +│ │ ├── CreatedByType: *string +│ │ ├── LastModifiedAt: *string +│ │ ├── LastModifiedBy: *string +│ │ ├── LastModifiedByType: *string +│ │ └── PropertyBag: genruntime.PropertyBag +│ └── Type: *string +└── FlexibleServersFirewallRule: Resource + ├── Owner: dbformysql/v1api20230630.FlexibleServer + ├── Spec: Object (6 properties) + │ ├── AzureName: string + │ ├── EndIpAddress: *string + │ ├── OriginalVersion: string + │ ├── Owner: *genruntime.KnownResourceReference + │ ├── PropertyBag: genruntime.PropertyBag + │ └── StartIpAddress: *string + └── Status: Object (8 properties) + ├── Conditions: conditions.Condition[] + ├── EndIpAddress: *string + ├── Id: *string + ├── Name: *string + ├── PropertyBag: genruntime.PropertyBag + ├── StartIpAddress: *string + ├── SystemData: *Object (7 properties) + │ ├── CreatedAt: *string + │ ├── CreatedBy: *string + │ ├── CreatedByType: *string + │ ├── LastModifiedAt: *string + │ ├── LastModifiedBy: *string + │ ├── LastModifiedByType: *string + │ └── PropertyBag: genruntime.PropertyBag + └── Type: *string diff --git a/v2/api/dbformysql/v1api20230630/storage/zz_generated.deepcopy.go b/v2/api/dbformysql/v1api20230630/storage/zz_generated.deepcopy.go new file mode 100644 index 00000000000..6f9fb244fd7 --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/storage/zz_generated.deepcopy.go @@ -0,0 +1,1981 @@ +//go:build !ignore_autogenerated + +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package storage + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" + runtime "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Backup) DeepCopyInto(out *Backup) { + *out = *in + if in.BackupRetentionDays != nil { + in, out := &in.BackupRetentionDays, &out.BackupRetentionDays + *out = new(int) + **out = **in + } + if in.GeoRedundantBackup != nil { + in, out := &in.GeoRedundantBackup, &out.GeoRedundantBackup + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backup. +func (in *Backup) DeepCopy() *Backup { + if in == nil { + return nil + } + out := new(Backup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Backup_STATUS) DeepCopyInto(out *Backup_STATUS) { + *out = *in + if in.BackupRetentionDays != nil { + in, out := &in.BackupRetentionDays, &out.BackupRetentionDays + *out = new(int) + **out = **in + } + if in.EarliestRestoreDate != nil { + in, out := &in.EarliestRestoreDate, &out.EarliestRestoreDate + *out = new(string) + **out = **in + } + if in.GeoRedundantBackup != nil { + in, out := &in.GeoRedundantBackup, &out.GeoRedundantBackup + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backup_STATUS. +func (in *Backup_STATUS) DeepCopy() *Backup_STATUS { + if in == nil { + return nil + } + out := new(Backup_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DataEncryption) DeepCopyInto(out *DataEncryption) { + *out = *in + if in.GeoBackupKeyURI != nil { + in, out := &in.GeoBackupKeyURI, &out.GeoBackupKeyURI + *out = new(string) + **out = **in + } + if in.GeoBackupUserAssignedIdentityReference != nil { + in, out := &in.GeoBackupUserAssignedIdentityReference, &out.GeoBackupUserAssignedIdentityReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PrimaryKeyURI != nil { + in, out := &in.PrimaryKeyURI, &out.PrimaryKeyURI + *out = new(string) + **out = **in + } + if in.PrimaryUserAssignedIdentityReference != nil { + in, out := &in.PrimaryUserAssignedIdentityReference, &out.PrimaryUserAssignedIdentityReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataEncryption. +func (in *DataEncryption) DeepCopy() *DataEncryption { + if in == nil { + return nil + } + out := new(DataEncryption) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DataEncryption_STATUS) DeepCopyInto(out *DataEncryption_STATUS) { + *out = *in + if in.GeoBackupKeyURI != nil { + in, out := &in.GeoBackupKeyURI, &out.GeoBackupKeyURI + *out = new(string) + **out = **in + } + if in.GeoBackupUserAssignedIdentityId != nil { + in, out := &in.GeoBackupUserAssignedIdentityId, &out.GeoBackupUserAssignedIdentityId + *out = new(string) + **out = **in + } + if in.PrimaryKeyURI != nil { + in, out := &in.PrimaryKeyURI, &out.PrimaryKeyURI + *out = new(string) + **out = **in + } + if in.PrimaryUserAssignedIdentityId != nil { + in, out := &in.PrimaryUserAssignedIdentityId, &out.PrimaryUserAssignedIdentityId + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataEncryption_STATUS. +func (in *DataEncryption_STATUS) DeepCopy() *DataEncryption_STATUS { + if in == nil { + return nil + } + out := new(DataEncryption_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServer) DeepCopyInto(out *FlexibleServer) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServer. +func (in *FlexibleServer) DeepCopy() *FlexibleServer { + if in == nil { + return nil + } + out := new(FlexibleServer) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServer) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServerList) DeepCopyInto(out *FlexibleServerList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FlexibleServer, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServerList. +func (in *FlexibleServerList) DeepCopy() *FlexibleServerList { + if in == nil { + return nil + } + out := new(FlexibleServerList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServerList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServerOperatorConfigMaps) DeepCopyInto(out *FlexibleServerOperatorConfigMaps) { + *out = *in + if in.AdministratorLogin != nil { + in, out := &in.AdministratorLogin, &out.AdministratorLogin + *out = new(genruntime.ConfigMapDestination) + **out = **in + } + if in.FullyQualifiedDomainName != nil { + in, out := &in.FullyQualifiedDomainName, &out.FullyQualifiedDomainName + *out = new(genruntime.ConfigMapDestination) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServerOperatorConfigMaps. +func (in *FlexibleServerOperatorConfigMaps) DeepCopy() *FlexibleServerOperatorConfigMaps { + if in == nil { + return nil + } + out := new(FlexibleServerOperatorConfigMaps) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServerOperatorSecrets) DeepCopyInto(out *FlexibleServerOperatorSecrets) { + *out = *in + if in.FullyQualifiedDomainName != nil { + in, out := &in.FullyQualifiedDomainName, &out.FullyQualifiedDomainName + *out = new(genruntime.SecretDestination) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServerOperatorSecrets. +func (in *FlexibleServerOperatorSecrets) DeepCopy() *FlexibleServerOperatorSecrets { + if in == nil { + return nil + } + out := new(FlexibleServerOperatorSecrets) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServerOperatorSpec) DeepCopyInto(out *FlexibleServerOperatorSpec) { + *out = *in + if in.ConfigMaps != nil { + in, out := &in.ConfigMaps, &out.ConfigMaps + *out = new(FlexibleServerOperatorConfigMaps) + (*in).DeepCopyInto(*out) + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = new(FlexibleServerOperatorSecrets) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServerOperatorSpec. +func (in *FlexibleServerOperatorSpec) DeepCopy() *FlexibleServerOperatorSpec { + if in == nil { + return nil + } + out := new(FlexibleServerOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServer_STATUS) DeepCopyInto(out *FlexibleServer_STATUS) { + *out = *in + if in.AdministratorLogin != nil { + in, out := &in.AdministratorLogin, &out.AdministratorLogin + *out = new(string) + **out = **in + } + if in.AvailabilityZone != nil { + in, out := &in.AvailabilityZone, &out.AvailabilityZone + *out = new(string) + **out = **in + } + if in.Backup != nil { + in, out := &in.Backup, &out.Backup + *out = new(Backup_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CreateMode != nil { + in, out := &in.CreateMode, &out.CreateMode + *out = new(string) + **out = **in + } + if in.DataEncryption != nil { + in, out := &in.DataEncryption, &out.DataEncryption + *out = new(DataEncryption_STATUS) + (*in).DeepCopyInto(*out) + } + if in.FullyQualifiedDomainName != nil { + in, out := &in.FullyQualifiedDomainName, &out.FullyQualifiedDomainName + *out = new(string) + **out = **in + } + if in.HighAvailability != nil { + in, out := &in.HighAvailability, &out.HighAvailability + *out = new(HighAvailability_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(MySQLServerIdentity_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ImportSourceProperties != nil { + in, out := &in.ImportSourceProperties, &out.ImportSourceProperties + *out = new(ImportSourceProperties_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(MaintenanceWindow_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(Network_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PrivateEndpointConnections != nil { + in, out := &in.PrivateEndpointConnections, &out.PrivateEndpointConnections + *out = make([]PrivateEndpointConnection_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ReplicaCapacity != nil { + in, out := &in.ReplicaCapacity, &out.ReplicaCapacity + *out = new(int) + **out = **in + } + if in.ReplicationRole != nil { + in, out := &in.ReplicationRole, &out.ReplicationRole + *out = new(string) + **out = **in + } + if in.RestorePointInTime != nil { + in, out := &in.RestorePointInTime, &out.RestorePointInTime + *out = new(string) + **out = **in + } + if in.Sku != nil { + in, out := &in.Sku, &out.Sku + *out = new(MySQLServerSku_STATUS) + (*in).DeepCopyInto(*out) + } + if in.SourceServerResourceId != nil { + in, out := &in.SourceServerResourceId, &out.SourceServerResourceId + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } + if in.Storage != nil { + in, out := &in.Storage, &out.Storage + *out = new(Storage_STATUS) + (*in).DeepCopyInto(*out) + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServer_STATUS. +func (in *FlexibleServer_STATUS) DeepCopy() *FlexibleServer_STATUS { + if in == nil { + return nil + } + out := new(FlexibleServer_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServer_Spec) DeepCopyInto(out *FlexibleServer_Spec) { + *out = *in + if in.AdministratorLogin != nil { + in, out := &in.AdministratorLogin, &out.AdministratorLogin + *out = new(string) + **out = **in + } + if in.AdministratorLoginPassword != nil { + in, out := &in.AdministratorLoginPassword, &out.AdministratorLoginPassword + *out = new(genruntime.SecretReference) + **out = **in + } + if in.AvailabilityZone != nil { + in, out := &in.AvailabilityZone, &out.AvailabilityZone + *out = new(string) + **out = **in + } + if in.Backup != nil { + in, out := &in.Backup, &out.Backup + *out = new(Backup) + (*in).DeepCopyInto(*out) + } + if in.CreateMode != nil { + in, out := &in.CreateMode, &out.CreateMode + *out = new(string) + **out = **in + } + if in.DataEncryption != nil { + in, out := &in.DataEncryption, &out.DataEncryption + *out = new(DataEncryption) + (*in).DeepCopyInto(*out) + } + if in.HighAvailability != nil { + in, out := &in.HighAvailability, &out.HighAvailability + *out = new(HighAvailability) + (*in).DeepCopyInto(*out) + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(MySQLServerIdentity) + (*in).DeepCopyInto(*out) + } + if in.ImportSourceProperties != nil { + in, out := &in.ImportSourceProperties, &out.ImportSourceProperties + *out = new(ImportSourceProperties) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(MaintenanceWindow) + (*in).DeepCopyInto(*out) + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(Network) + (*in).DeepCopyInto(*out) + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(FlexibleServerOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ReplicationRole != nil { + in, out := &in.ReplicationRole, &out.ReplicationRole + *out = new(string) + **out = **in + } + if in.RestorePointInTime != nil { + in, out := &in.RestorePointInTime, &out.RestorePointInTime + *out = new(string) + **out = **in + } + if in.Sku != nil { + in, out := &in.Sku, &out.Sku + *out = new(MySQLServerSku) + (*in).DeepCopyInto(*out) + } + if in.SourceServerResourceReference != nil { + in, out := &in.SourceServerResourceReference, &out.SourceServerResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Storage != nil { + in, out := &in.Storage, &out.Storage + *out = new(Storage) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServer_Spec. +func (in *FlexibleServer_Spec) DeepCopy() *FlexibleServer_Spec { + if in == nil { + return nil + } + out := new(FlexibleServer_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersAdministrator) DeepCopyInto(out *FlexibleServersAdministrator) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersAdministrator. +func (in *FlexibleServersAdministrator) DeepCopy() *FlexibleServersAdministrator { + if in == nil { + return nil + } + out := new(FlexibleServersAdministrator) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersAdministrator) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersAdministratorList) DeepCopyInto(out *FlexibleServersAdministratorList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FlexibleServersAdministrator, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersAdministratorList. +func (in *FlexibleServersAdministratorList) DeepCopy() *FlexibleServersAdministratorList { + if in == nil { + return nil + } + out := new(FlexibleServersAdministratorList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersAdministratorList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersConfiguration) DeepCopyInto(out *FlexibleServersConfiguration) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersConfiguration. +func (in *FlexibleServersConfiguration) DeepCopy() *FlexibleServersConfiguration { + if in == nil { + return nil + } + out := new(FlexibleServersConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersConfiguration) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersConfigurationList) DeepCopyInto(out *FlexibleServersConfigurationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FlexibleServersConfiguration, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersConfigurationList. +func (in *FlexibleServersConfigurationList) DeepCopy() *FlexibleServersConfigurationList { + if in == nil { + return nil + } + out := new(FlexibleServersConfigurationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersConfigurationList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersDatabase) DeepCopyInto(out *FlexibleServersDatabase) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersDatabase. +func (in *FlexibleServersDatabase) DeepCopy() *FlexibleServersDatabase { + if in == nil { + return nil + } + out := new(FlexibleServersDatabase) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersDatabase) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersDatabaseList) DeepCopyInto(out *FlexibleServersDatabaseList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FlexibleServersDatabase, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersDatabaseList. +func (in *FlexibleServersDatabaseList) DeepCopy() *FlexibleServersDatabaseList { + if in == nil { + return nil + } + out := new(FlexibleServersDatabaseList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersDatabaseList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersFirewallRule) DeepCopyInto(out *FlexibleServersFirewallRule) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersFirewallRule. +func (in *FlexibleServersFirewallRule) DeepCopy() *FlexibleServersFirewallRule { + if in == nil { + return nil + } + out := new(FlexibleServersFirewallRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersFirewallRule) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersFirewallRuleList) DeepCopyInto(out *FlexibleServersFirewallRuleList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FlexibleServersFirewallRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersFirewallRuleList. +func (in *FlexibleServersFirewallRuleList) DeepCopy() *FlexibleServersFirewallRuleList { + if in == nil { + return nil + } + out := new(FlexibleServersFirewallRuleList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersFirewallRuleList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Administrator_STATUS) DeepCopyInto(out *FlexibleServers_Administrator_STATUS) { + *out = *in + if in.AdministratorType != nil { + in, out := &in.AdministratorType, &out.AdministratorType + *out = new(string) + **out = **in + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.IdentityResourceId != nil { + in, out := &in.IdentityResourceId, &out.IdentityResourceId + *out = new(string) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Sid != nil { + in, out := &in.Sid, &out.Sid + *out = new(string) + **out = **in + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Administrator_STATUS. +func (in *FlexibleServers_Administrator_STATUS) DeepCopy() *FlexibleServers_Administrator_STATUS { + if in == nil { + return nil + } + out := new(FlexibleServers_Administrator_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Administrator_Spec) DeepCopyInto(out *FlexibleServers_Administrator_Spec) { + *out = *in + if in.AdministratorType != nil { + in, out := &in.AdministratorType, &out.AdministratorType + *out = new(string) + **out = **in + } + if in.IdentityResourceReference != nil { + in, out := &in.IdentityResourceReference, &out.IdentityResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(string) + **out = **in + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Sid != nil { + in, out := &in.Sid, &out.Sid + *out = new(string) + **out = **in + } + if in.SidFromConfig != nil { + in, out := &in.SidFromConfig, &out.SidFromConfig + *out = new(genruntime.ConfigMapReference) + **out = **in + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } + if in.TenantIdFromConfig != nil { + in, out := &in.TenantIdFromConfig, &out.TenantIdFromConfig + *out = new(genruntime.ConfigMapReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Administrator_Spec. +func (in *FlexibleServers_Administrator_Spec) DeepCopy() *FlexibleServers_Administrator_Spec { + if in == nil { + return nil + } + out := new(FlexibleServers_Administrator_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Configuration_STATUS) DeepCopyInto(out *FlexibleServers_Configuration_STATUS) { + *out = *in + if in.AllowedValues != nil { + in, out := &in.AllowedValues, &out.AllowedValues + *out = new(string) + **out = **in + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CurrentValue != nil { + in, out := &in.CurrentValue, &out.CurrentValue + *out = new(string) + **out = **in + } + if in.DataType != nil { + in, out := &in.DataType, &out.DataType + *out = new(string) + **out = **in + } + if in.DefaultValue != nil { + in, out := &in.DefaultValue, &out.DefaultValue + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DocumentationLink != nil { + in, out := &in.DocumentationLink, &out.DocumentationLink + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.IsConfigPendingRestart != nil { + in, out := &in.IsConfigPendingRestart, &out.IsConfigPendingRestart + *out = new(string) + **out = **in + } + if in.IsDynamicConfig != nil { + in, out := &in.IsDynamicConfig, &out.IsDynamicConfig + *out = new(string) + **out = **in + } + if in.IsReadOnly != nil { + in, out := &in.IsReadOnly, &out.IsReadOnly + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(string) + **out = **in + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Configuration_STATUS. +func (in *FlexibleServers_Configuration_STATUS) DeepCopy() *FlexibleServers_Configuration_STATUS { + if in == nil { + return nil + } + out := new(FlexibleServers_Configuration_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Configuration_Spec) DeepCopyInto(out *FlexibleServers_Configuration_Spec) { + *out = *in + if in.CurrentValue != nil { + in, out := &in.CurrentValue, &out.CurrentValue + *out = new(string) + **out = **in + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Configuration_Spec. +func (in *FlexibleServers_Configuration_Spec) DeepCopy() *FlexibleServers_Configuration_Spec { + if in == nil { + return nil + } + out := new(FlexibleServers_Configuration_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Database_STATUS) DeepCopyInto(out *FlexibleServers_Database_STATUS) { + *out = *in + if in.Charset != nil { + in, out := &in.Charset, &out.Charset + *out = new(string) + **out = **in + } + if in.Collation != nil { + in, out := &in.Collation, &out.Collation + *out = new(string) + **out = **in + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Database_STATUS. +func (in *FlexibleServers_Database_STATUS) DeepCopy() *FlexibleServers_Database_STATUS { + if in == nil { + return nil + } + out := new(FlexibleServers_Database_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Database_Spec) DeepCopyInto(out *FlexibleServers_Database_Spec) { + *out = *in + if in.Charset != nil { + in, out := &in.Charset, &out.Charset + *out = new(string) + **out = **in + } + if in.Collation != nil { + in, out := &in.Collation, &out.Collation + *out = new(string) + **out = **in + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Database_Spec. +func (in *FlexibleServers_Database_Spec) DeepCopy() *FlexibleServers_Database_Spec { + if in == nil { + return nil + } + out := new(FlexibleServers_Database_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_FirewallRule_STATUS) DeepCopyInto(out *FlexibleServers_FirewallRule_STATUS) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EndIpAddress != nil { + in, out := &in.EndIpAddress, &out.EndIpAddress + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.StartIpAddress != nil { + in, out := &in.StartIpAddress, &out.StartIpAddress + *out = new(string) + **out = **in + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_FirewallRule_STATUS. +func (in *FlexibleServers_FirewallRule_STATUS) DeepCopy() *FlexibleServers_FirewallRule_STATUS { + if in == nil { + return nil + } + out := new(FlexibleServers_FirewallRule_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_FirewallRule_Spec) DeepCopyInto(out *FlexibleServers_FirewallRule_Spec) { + *out = *in + if in.EndIpAddress != nil { + in, out := &in.EndIpAddress, &out.EndIpAddress + *out = new(string) + **out = **in + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.StartIpAddress != nil { + in, out := &in.StartIpAddress, &out.StartIpAddress + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_FirewallRule_Spec. +func (in *FlexibleServers_FirewallRule_Spec) DeepCopy() *FlexibleServers_FirewallRule_Spec { + if in == nil { + return nil + } + out := new(FlexibleServers_FirewallRule_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HighAvailability) DeepCopyInto(out *HighAvailability) { + *out = *in + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.StandbyAvailabilityZone != nil { + in, out := &in.StandbyAvailabilityZone, &out.StandbyAvailabilityZone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HighAvailability. +func (in *HighAvailability) DeepCopy() *HighAvailability { + if in == nil { + return nil + } + out := new(HighAvailability) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HighAvailability_STATUS) DeepCopyInto(out *HighAvailability_STATUS) { + *out = *in + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.StandbyAvailabilityZone != nil { + in, out := &in.StandbyAvailabilityZone, &out.StandbyAvailabilityZone + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HighAvailability_STATUS. +func (in *HighAvailability_STATUS) DeepCopy() *HighAvailability_STATUS { + if in == nil { + return nil + } + out := new(HighAvailability_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImportSourceProperties) DeepCopyInto(out *ImportSourceProperties) { + *out = *in + if in.DataDirPath != nil { + in, out := &in.DataDirPath, &out.DataDirPath + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.SasToken != nil { + in, out := &in.SasToken, &out.SasToken + *out = new(genruntime.SecretReference) + **out = **in + } + if in.StorageType != nil { + in, out := &in.StorageType, &out.StorageType + *out = new(string) + **out = **in + } + if in.StorageUrl != nil { + in, out := &in.StorageUrl, &out.StorageUrl + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImportSourceProperties. +func (in *ImportSourceProperties) DeepCopy() *ImportSourceProperties { + if in == nil { + return nil + } + out := new(ImportSourceProperties) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImportSourceProperties_STATUS) DeepCopyInto(out *ImportSourceProperties_STATUS) { + *out = *in + if in.DataDirPath != nil { + in, out := &in.DataDirPath, &out.DataDirPath + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.StorageType != nil { + in, out := &in.StorageType, &out.StorageType + *out = new(string) + **out = **in + } + if in.StorageUrl != nil { + in, out := &in.StorageUrl, &out.StorageUrl + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImportSourceProperties_STATUS. +func (in *ImportSourceProperties_STATUS) DeepCopy() *ImportSourceProperties_STATUS { + if in == nil { + return nil + } + out := new(ImportSourceProperties_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceWindow) DeepCopyInto(out *MaintenanceWindow) { + *out = *in + if in.CustomWindow != nil { + in, out := &in.CustomWindow, &out.CustomWindow + *out = new(string) + **out = **in + } + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.StartHour != nil { + in, out := &in.StartHour, &out.StartHour + *out = new(int) + **out = **in + } + if in.StartMinute != nil { + in, out := &in.StartMinute, &out.StartMinute + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindow. +func (in *MaintenanceWindow) DeepCopy() *MaintenanceWindow { + if in == nil { + return nil + } + out := new(MaintenanceWindow) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceWindow_STATUS) DeepCopyInto(out *MaintenanceWindow_STATUS) { + *out = *in + if in.CustomWindow != nil { + in, out := &in.CustomWindow, &out.CustomWindow + *out = new(string) + **out = **in + } + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(int) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.StartHour != nil { + in, out := &in.StartHour, &out.StartHour + *out = new(int) + **out = **in + } + if in.StartMinute != nil { + in, out := &in.StartMinute, &out.StartMinute + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindow_STATUS. +func (in *MaintenanceWindow_STATUS) DeepCopy() *MaintenanceWindow_STATUS { + if in == nil { + return nil + } + out := new(MaintenanceWindow_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLServerIdentity) DeepCopyInto(out *MySQLServerIdentity) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make([]UserAssignedIdentityDetails, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerIdentity. +func (in *MySQLServerIdentity) DeepCopy() *MySQLServerIdentity { + if in == nil { + return nil + } + out := new(MySQLServerIdentity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLServerIdentity_STATUS) DeepCopyInto(out *MySQLServerIdentity_STATUS) { + *out = *in + if in.PrincipalId != nil { + in, out := &in.PrincipalId, &out.PrincipalId + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make(map[string]v1.JSON, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerIdentity_STATUS. +func (in *MySQLServerIdentity_STATUS) DeepCopy() *MySQLServerIdentity_STATUS { + if in == nil { + return nil + } + out := new(MySQLServerIdentity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLServerSku) DeepCopyInto(out *MySQLServerSku) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tier != nil { + in, out := &in.Tier, &out.Tier + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerSku. +func (in *MySQLServerSku) DeepCopy() *MySQLServerSku { + if in == nil { + return nil + } + out := new(MySQLServerSku) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLServerSku_STATUS) DeepCopyInto(out *MySQLServerSku_STATUS) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Tier != nil { + in, out := &in.Tier, &out.Tier + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerSku_STATUS. +func (in *MySQLServerSku_STATUS) DeepCopy() *MySQLServerSku_STATUS { + if in == nil { + return nil + } + out := new(MySQLServerSku_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Network) DeepCopyInto(out *Network) { + *out = *in + if in.DelegatedSubnetResourceReference != nil { + in, out := &in.DelegatedSubnetResourceReference, &out.DelegatedSubnetResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PrivateDnsZoneResourceReference != nil { + in, out := &in.PrivateDnsZoneResourceReference, &out.PrivateDnsZoneResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PublicNetworkAccess != nil { + in, out := &in.PublicNetworkAccess, &out.PublicNetworkAccess + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network. +func (in *Network) DeepCopy() *Network { + if in == nil { + return nil + } + out := new(Network) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Network_STATUS) DeepCopyInto(out *Network_STATUS) { + *out = *in + if in.DelegatedSubnetResourceId != nil { + in, out := &in.DelegatedSubnetResourceId, &out.DelegatedSubnetResourceId + *out = new(string) + **out = **in + } + if in.PrivateDnsZoneResourceId != nil { + in, out := &in.PrivateDnsZoneResourceId, &out.PrivateDnsZoneResourceId + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.PublicNetworkAccess != nil { + in, out := &in.PublicNetworkAccess, &out.PublicNetworkAccess + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network_STATUS. +func (in *Network_STATUS) DeepCopy() *Network_STATUS { + if in == nil { + return nil + } + out := new(Network_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrivateEndpointConnection_STATUS) DeepCopyInto(out *PrivateEndpointConnection_STATUS) { + *out = *in + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateEndpointConnection_STATUS. +func (in *PrivateEndpointConnection_STATUS) DeepCopy() *PrivateEndpointConnection_STATUS { + if in == nil { + return nil + } + out := new(PrivateEndpointConnection_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Storage) DeepCopyInto(out *Storage) { + *out = *in + if in.AutoGrow != nil { + in, out := &in.AutoGrow, &out.AutoGrow + *out = new(string) + **out = **in + } + if in.AutoIoScaling != nil { + in, out := &in.AutoIoScaling, &out.AutoIoScaling + *out = new(string) + **out = **in + } + if in.Iops != nil { + in, out := &in.Iops, &out.Iops + *out = new(int) + **out = **in + } + if in.LogOnDisk != nil { + in, out := &in.LogOnDisk, &out.LogOnDisk + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.StorageSizeGB != nil { + in, out := &in.StorageSizeGB, &out.StorageSizeGB + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage. +func (in *Storage) DeepCopy() *Storage { + if in == nil { + return nil + } + out := new(Storage) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Storage_STATUS) DeepCopyInto(out *Storage_STATUS) { + *out = *in + if in.AutoGrow != nil { + in, out := &in.AutoGrow, &out.AutoGrow + *out = new(string) + **out = **in + } + if in.AutoIoScaling != nil { + in, out := &in.AutoIoScaling, &out.AutoIoScaling + *out = new(string) + **out = **in + } + if in.Iops != nil { + in, out := &in.Iops, &out.Iops + *out = new(int) + **out = **in + } + if in.LogOnDisk != nil { + in, out := &in.LogOnDisk, &out.LogOnDisk + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.StorageSizeGB != nil { + in, out := &in.StorageSizeGB, &out.StorageSizeGB + *out = new(int) + **out = **in + } + if in.StorageSku != nil { + in, out := &in.StorageSku, &out.StorageSku + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage_STATUS. +func (in *Storage_STATUS) DeepCopy() *Storage_STATUS { + if in == nil { + return nil + } + out := new(Storage_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SystemData_STATUS) DeepCopyInto(out *SystemData_STATUS) { + *out = *in + if in.CreatedAt != nil { + in, out := &in.CreatedAt, &out.CreatedAt + *out = new(string) + **out = **in + } + if in.CreatedBy != nil { + in, out := &in.CreatedBy, &out.CreatedBy + *out = new(string) + **out = **in + } + if in.CreatedByType != nil { + in, out := &in.CreatedByType, &out.CreatedByType + *out = new(string) + **out = **in + } + if in.LastModifiedAt != nil { + in, out := &in.LastModifiedAt, &out.LastModifiedAt + *out = new(string) + **out = **in + } + if in.LastModifiedBy != nil { + in, out := &in.LastModifiedBy, &out.LastModifiedBy + *out = new(string) + **out = **in + } + if in.LastModifiedByType != nil { + in, out := &in.LastModifiedByType, &out.LastModifiedByType + *out = new(string) + **out = **in + } + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemData_STATUS. +func (in *SystemData_STATUS) DeepCopy() *SystemData_STATUS { + if in == nil { + return nil + } + out := new(SystemData_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentityDetails) DeepCopyInto(out *UserAssignedIdentityDetails) { + *out = *in + if in.PropertyBag != nil { + in, out := &in.PropertyBag, &out.PropertyBag + *out = make(genruntime.PropertyBag, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + out.Reference = in.Reference +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentityDetails. +func (in *UserAssignedIdentityDetails) DeepCopy() *UserAssignedIdentityDetails { + if in == nil { + return nil + } + out := new(UserAssignedIdentityDetails) + in.DeepCopyInto(out) + return out +} diff --git a/v2/api/dbformysql/v1api20230630/structure.txt b/v2/api/dbformysql/v1api20230630/structure.txt new file mode 100644 index 00000000000..810649b548e --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/structure.txt @@ -0,0 +1,690 @@ +// Code generated by azure-service-operator-codegen. DO NOT EDIT. +github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630 +├── APIVersion: Enum (1 value) +│ └── "2023-06-30" +├── FlexibleServer: Resource +│ ├── Owner: resources/v1apiv20191001.ResourceGroup +│ ├── Spec: Object (22 properties) +│ │ ├── AdministratorLogin: *string +│ │ ├── AdministratorLoginPassword: *genruntime.SecretReference +│ │ ├── AvailabilityZone: *string +│ │ ├── AzureName: string +│ │ ├── Backup: *Object (2 properties) +│ │ │ ├── BackupRetentionDays: *int +│ │ │ └── GeoRedundantBackup: *Enum (2 values) +│ │ │ ├── "Disabled" +│ │ │ └── "Enabled" +│ │ ├── CreateMode: *Enum (4 values) +│ │ │ ├── "Default" +│ │ │ ├── "GeoRestore" +│ │ │ ├── "PointInTimeRestore" +│ │ │ └── "Replica" +│ │ ├── DataEncryption: *Object (5 properties) +│ │ │ ├── GeoBackupKeyURI: *string +│ │ │ ├── GeoBackupUserAssignedIdentityReference: *genruntime.ResourceReference +│ │ │ ├── PrimaryKeyURI: *string +│ │ │ ├── PrimaryUserAssignedIdentityReference: *genruntime.ResourceReference +│ │ │ └── Type: *Enum (2 values) +│ │ │ ├── "AzureKeyVault" +│ │ │ └── "SystemManaged" +│ │ ├── HighAvailability: *Object (2 properties) +│ │ │ ├── Mode: *Enum (3 values) +│ │ │ │ ├── "Disabled" +│ │ │ │ ├── "SameZone" +│ │ │ │ └── "ZoneRedundant" +│ │ │ └── StandbyAvailabilityZone: *string +│ │ ├── Identity: *Object (2 properties) +│ │ │ ├── Type: *Enum (1 value) +│ │ │ │ └── "UserAssigned" +│ │ │ └── UserAssignedIdentities: Object (1 property)[] +│ │ │ └── Reference: genruntime.ResourceReference +│ │ ├── ImportSourceProperties: *Object (4 properties) +│ │ │ ├── DataDirPath: *string +│ │ │ ├── SasToken: *genruntime.SecretReference +│ │ │ ├── StorageType: *Enum (1 value) +│ │ │ │ └── "AzureBlob" +│ │ │ └── StorageUrl: *string +│ │ ├── Location: *string +│ │ ├── MaintenanceWindow: *Object (4 properties) +│ │ │ ├── CustomWindow: *string +│ │ │ ├── DayOfWeek: *int +│ │ │ ├── StartHour: *int +│ │ │ └── StartMinute: *int +│ │ ├── Network: *Object (3 properties) +│ │ │ ├── DelegatedSubnetResourceReference: *genruntime.ResourceReference +│ │ │ ├── PrivateDnsZoneResourceReference: *genruntime.ResourceReference +│ │ │ └── PublicNetworkAccess: *Enum (2 values) +│ │ │ ├── "Disabled" +│ │ │ └── "Enabled" +│ │ ├── OperatorSpec: *Object (2 properties) +│ │ │ ├── ConfigMaps: *Object (2 properties) +│ │ │ │ ├── AdministratorLogin: *genruntime.ConfigMapDestination +│ │ │ │ └── FullyQualifiedDomainName: *genruntime.ConfigMapDestination +│ │ │ └── Secrets: *Object (1 property) +│ │ │ └── FullyQualifiedDomainName: *genruntime.SecretDestination +│ │ ├── Owner: *genruntime.KnownResourceReference +│ │ ├── ReplicationRole: *Enum (3 values) +│ │ │ ├── "None" +│ │ │ ├── "Replica" +│ │ │ └── "Source" +│ │ ├── RestorePointInTime: *string +│ │ ├── Sku: *Object (2 properties) +│ │ │ ├── Name: *string +│ │ │ └── Tier: *Enum (3 values) +│ │ │ ├── "Burstable" +│ │ │ ├── "GeneralPurpose" +│ │ │ └── "MemoryOptimized" +│ │ ├── SourceServerResourceReference: *genruntime.ResourceReference +│ │ ├── Storage: *Object (5 properties) +│ │ │ ├── AutoGrow: *Enum (2 values) +│ │ │ │ ├── "Disabled" +│ │ │ │ └── "Enabled" +│ │ │ ├── AutoIoScaling: *Enum (2 values) +│ │ │ │ ├── "Disabled" +│ │ │ │ └── "Enabled" +│ │ │ ├── Iops: *int +│ │ │ ├── LogOnDisk: *Enum (2 values) +│ │ │ │ ├── "Disabled" +│ │ │ │ └── "Enabled" +│ │ │ └── StorageSizeGB: *int +│ │ ├── Tags: map[string]string +│ │ └── Version: *Enum (2 values) +│ │ ├── "5.7" +│ │ └── "8.0.21" +│ └── Status: Object (27 properties) +│ ├── AdministratorLogin: *string +│ ├── AvailabilityZone: *string +│ ├── Backup: *Object (3 properties) +│ │ ├── BackupRetentionDays: *int +│ │ ├── EarliestRestoreDate: *string +│ │ └── GeoRedundantBackup: *Enum (2 values) +│ │ ├── "Disabled" +│ │ └── "Enabled" +│ ├── Conditions: conditions.Condition[] +│ ├── CreateMode: *Enum (4 values) +│ │ ├── "Default" +│ │ ├── "GeoRestore" +│ │ ├── "PointInTimeRestore" +│ │ └── "Replica" +│ ├── DataEncryption: *Object (5 properties) +│ │ ├── GeoBackupKeyURI: *string +│ │ ├── GeoBackupUserAssignedIdentityId: *string +│ │ ├── PrimaryKeyURI: *string +│ │ ├── PrimaryUserAssignedIdentityId: *string +│ │ └── Type: *Enum (2 values) +│ │ ├── "AzureKeyVault" +│ │ └── "SystemManaged" +│ ├── FullyQualifiedDomainName: *string +│ ├── HighAvailability: *Object (3 properties) +│ │ ├── Mode: *Enum (3 values) +│ │ │ ├── "Disabled" +│ │ │ ├── "SameZone" +│ │ │ └── "ZoneRedundant" +│ │ ├── StandbyAvailabilityZone: *string +│ │ └── State: *Enum (5 values) +│ │ ├── "CreatingStandby" +│ │ ├── "FailingOver" +│ │ ├── "Healthy" +│ │ ├── "NotEnabled" +│ │ └── "RemovingStandby" +│ ├── Id: *string +│ ├── Identity: *Object (4 properties) +│ │ ├── PrincipalId: *string +│ │ ├── TenantId: *string +│ │ ├── Type: *Enum (1 value) +│ │ │ └── "UserAssigned" +│ │ └── UserAssignedIdentities: map[string]v1.JSON +│ ├── ImportSourceProperties: *Object (3 properties) +│ │ ├── DataDirPath: *string +│ │ ├── StorageType: *Enum (1 value) +│ │ │ └── "AzureBlob" +│ │ └── StorageUrl: *string +│ ├── Location: *string +│ ├── MaintenanceWindow: *Object (4 properties) +│ │ ├── CustomWindow: *string +│ │ ├── DayOfWeek: *int +│ │ ├── StartHour: *int +│ │ └── StartMinute: *int +│ ├── Name: *string +│ ├── Network: *Object (3 properties) +│ │ ├── DelegatedSubnetResourceId: *string +│ │ ├── PrivateDnsZoneResourceId: *string +│ │ └── PublicNetworkAccess: *Enum (2 values) +│ │ ├── "Disabled" +│ │ └── "Enabled" +│ ├── PrivateEndpointConnections: Object (1 property)[] +│ │ └── Id: *string +│ ├── ReplicaCapacity: *int +│ ├── ReplicationRole: *Enum (3 values) +│ │ ├── "None" +│ │ ├── "Replica" +│ │ └── "Source" +│ ├── RestorePointInTime: *string +│ ├── Sku: *Object (2 properties) +│ │ ├── Name: *string +│ │ └── Tier: *Enum (3 values) +│ │ ├── "Burstable" +│ │ ├── "GeneralPurpose" +│ │ └── "MemoryOptimized" +│ ├── SourceServerResourceId: *string +│ ├── State: *Enum (7 values) +│ │ ├── "Disabled" +│ │ ├── "Dropping" +│ │ ├── "Ready" +│ │ ├── "Starting" +│ │ ├── "Stopped" +│ │ ├── "Stopping" +│ │ └── "Updating" +│ ├── Storage: *Object (6 properties) +│ │ ├── AutoGrow: *Enum (2 values) +│ │ │ ├── "Disabled" +│ │ │ └── "Enabled" +│ │ ├── AutoIoScaling: *Enum (2 values) +│ │ │ ├── "Disabled" +│ │ │ └── "Enabled" +│ │ ├── Iops: *int +│ │ ├── LogOnDisk: *Enum (2 values) +│ │ │ ├── "Disabled" +│ │ │ └── "Enabled" +│ │ ├── StorageSizeGB: *int +│ │ └── StorageSku: *string +│ ├── SystemData: *Object (6 properties) +│ │ ├── CreatedAt: *string +│ │ ├── CreatedBy: *string +│ │ ├── CreatedByType: *Enum (4 values) +│ │ │ ├── "Application" +│ │ │ ├── "Key" +│ │ │ ├── "ManagedIdentity" +│ │ │ └── "User" +│ │ ├── LastModifiedAt: *string +│ │ ├── LastModifiedBy: *string +│ │ └── LastModifiedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ ├── Tags: map[string]string +│ ├── Type: *string +│ └── Version: *Enum (2 values) +│ ├── "5.7" +│ └── "8.0.21" +├── FlexibleServer_STATUS_ARM: Object (9 properties) +│ ├── Id: *string +│ ├── Identity: *Object (4 properties) +│ │ ├── PrincipalId: *string +│ │ ├── TenantId: *string +│ │ ├── Type: *Enum (1 value) +│ │ │ └── "UserAssigned" +│ │ └── UserAssignedIdentities: map[string]v1.JSON +│ ├── Location: *string +│ ├── Name: *string +│ ├── Properties: *Object (18 properties) +│ │ ├── AdministratorLogin: *string +│ │ ├── AvailabilityZone: *string +│ │ ├── Backup: *Object (3 properties) +│ │ │ ├── BackupRetentionDays: *int +│ │ │ ├── EarliestRestoreDate: *string +│ │ │ └── GeoRedundantBackup: *Enum (2 values) +│ │ │ ├── "Disabled" +│ │ │ └── "Enabled" +│ │ ├── CreateMode: *Enum (4 values) +│ │ │ ├── "Default" +│ │ │ ├── "GeoRestore" +│ │ │ ├── "PointInTimeRestore" +│ │ │ └── "Replica" +│ │ ├── DataEncryption: *Object (5 properties) +│ │ │ ├── GeoBackupKeyURI: *string +│ │ │ ├── GeoBackupUserAssignedIdentityId: *string +│ │ │ ├── PrimaryKeyURI: *string +│ │ │ ├── PrimaryUserAssignedIdentityId: *string +│ │ │ └── Type: *Enum (2 values) +│ │ │ ├── "AzureKeyVault" +│ │ │ └── "SystemManaged" +│ │ ├── FullyQualifiedDomainName: *string +│ │ ├── HighAvailability: *Object (3 properties) +│ │ │ ├── Mode: *Enum (3 values) +│ │ │ │ ├── "Disabled" +│ │ │ │ ├── "SameZone" +│ │ │ │ └── "ZoneRedundant" +│ │ │ ├── StandbyAvailabilityZone: *string +│ │ │ └── State: *Enum (5 values) +│ │ │ ├── "CreatingStandby" +│ │ │ ├── "FailingOver" +│ │ │ ├── "Healthy" +│ │ │ ├── "NotEnabled" +│ │ │ └── "RemovingStandby" +│ │ ├── ImportSourceProperties: *Object (3 properties) +│ │ │ ├── DataDirPath: *string +│ │ │ ├── StorageType: *Enum (1 value) +│ │ │ │ └── "AzureBlob" +│ │ │ └── StorageUrl: *string +│ │ ├── MaintenanceWindow: *Object (4 properties) +│ │ │ ├── CustomWindow: *string +│ │ │ ├── DayOfWeek: *int +│ │ │ ├── StartHour: *int +│ │ │ └── StartMinute: *int +│ │ ├── Network: *Object (3 properties) +│ │ │ ├── DelegatedSubnetResourceId: *string +│ │ │ ├── PrivateDnsZoneResourceId: *string +│ │ │ └── PublicNetworkAccess: *Enum (2 values) +│ │ │ ├── "Disabled" +│ │ │ └── "Enabled" +│ │ ├── PrivateEndpointConnections: Object (1 property)[] +│ │ │ └── Id: *string +│ │ ├── ReplicaCapacity: *int +│ │ ├── ReplicationRole: *Enum (3 values) +│ │ │ ├── "None" +│ │ │ ├── "Replica" +│ │ │ └── "Source" +│ │ ├── RestorePointInTime: *string +│ │ ├── SourceServerResourceId: *string +│ │ ├── State: *Enum (7 values) +│ │ │ ├── "Disabled" +│ │ │ ├── "Dropping" +│ │ │ ├── "Ready" +│ │ │ ├── "Starting" +│ │ │ ├── "Stopped" +│ │ │ ├── "Stopping" +│ │ │ └── "Updating" +│ │ ├── Storage: *Object (6 properties) +│ │ │ ├── AutoGrow: *Enum (2 values) +│ │ │ │ ├── "Disabled" +│ │ │ │ └── "Enabled" +│ │ │ ├── AutoIoScaling: *Enum (2 values) +│ │ │ │ ├── "Disabled" +│ │ │ │ └── "Enabled" +│ │ │ ├── Iops: *int +│ │ │ ├── LogOnDisk: *Enum (2 values) +│ │ │ │ ├── "Disabled" +│ │ │ │ └── "Enabled" +│ │ │ ├── StorageSizeGB: *int +│ │ │ └── StorageSku: *string +│ │ └── Version: *Enum (2 values) +│ │ ├── "5.7" +│ │ └── "8.0.21" +│ ├── Sku: *Object (2 properties) +│ │ ├── Name: *string +│ │ └── Tier: *Enum (3 values) +│ │ ├── "Burstable" +│ │ ├── "GeneralPurpose" +│ │ └── "MemoryOptimized" +│ ├── SystemData: *Object (6 properties) +│ │ ├── CreatedAt: *string +│ │ ├── CreatedBy: *string +│ │ ├── CreatedByType: *Enum (4 values) +│ │ │ ├── "Application" +│ │ │ ├── "Key" +│ │ │ ├── "ManagedIdentity" +│ │ │ └── "User" +│ │ ├── LastModifiedAt: *string +│ │ ├── LastModifiedBy: *string +│ │ └── LastModifiedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ ├── Tags: map[string]string +│ └── Type: *string +├── FlexibleServer_Spec_ARM: Object (6 properties) +│ ├── Identity: *Object (2 properties) +│ │ ├── Type: *Enum (1 value) +│ │ │ └── "UserAssigned" +│ │ └── UserAssignedIdentities: map[string]Object (0 properties) +│ ├── Location: *string +│ ├── Name: string +│ ├── Properties: *Object (15 properties) +│ │ ├── AdministratorLogin: *string +│ │ ├── AdministratorLoginPassword: *string +│ │ ├── AvailabilityZone: *string +│ │ ├── Backup: *Object (2 properties) +│ │ │ ├── BackupRetentionDays: *int +│ │ │ └── GeoRedundantBackup: *Enum (2 values) +│ │ │ ├── "Disabled" +│ │ │ └── "Enabled" +│ │ ├── CreateMode: *Enum (4 values) +│ │ │ ├── "Default" +│ │ │ ├── "GeoRestore" +│ │ │ ├── "PointInTimeRestore" +│ │ │ └── "Replica" +│ │ ├── DataEncryption: *Object (5 properties) +│ │ │ ├── GeoBackupKeyURI: *string +│ │ │ ├── GeoBackupUserAssignedIdentityId: *string +│ │ │ ├── PrimaryKeyURI: *string +│ │ │ ├── PrimaryUserAssignedIdentityId: *string +│ │ │ └── Type: *Enum (2 values) +│ │ │ ├── "AzureKeyVault" +│ │ │ └── "SystemManaged" +│ │ ├── HighAvailability: *Object (2 properties) +│ │ │ ├── Mode: *Enum (3 values) +│ │ │ │ ├── "Disabled" +│ │ │ │ ├── "SameZone" +│ │ │ │ └── "ZoneRedundant" +│ │ │ └── StandbyAvailabilityZone: *string +│ │ ├── ImportSourceProperties: *Object (4 properties) +│ │ │ ├── DataDirPath: *string +│ │ │ ├── SasToken: *string +│ │ │ ├── StorageType: *Enum (1 value) +│ │ │ │ └── "AzureBlob" +│ │ │ └── StorageUrl: *string +│ │ ├── MaintenanceWindow: *Object (4 properties) +│ │ │ ├── CustomWindow: *string +│ │ │ ├── DayOfWeek: *int +│ │ │ ├── StartHour: *int +│ │ │ └── StartMinute: *int +│ │ ├── Network: *Object (3 properties) +│ │ │ ├── DelegatedSubnetResourceId: *string +│ │ │ ├── PrivateDnsZoneResourceId: *string +│ │ │ └── PublicNetworkAccess: *Enum (2 values) +│ │ │ ├── "Disabled" +│ │ │ └── "Enabled" +│ │ ├── ReplicationRole: *Enum (3 values) +│ │ │ ├── "None" +│ │ │ ├── "Replica" +│ │ │ └── "Source" +│ │ ├── RestorePointInTime: *string +│ │ ├── SourceServerResourceId: *string +│ │ ├── Storage: *Object (5 properties) +│ │ │ ├── AutoGrow: *Enum (2 values) +│ │ │ │ ├── "Disabled" +│ │ │ │ └── "Enabled" +│ │ │ ├── AutoIoScaling: *Enum (2 values) +│ │ │ │ ├── "Disabled" +│ │ │ │ └── "Enabled" +│ │ │ ├── Iops: *int +│ │ │ ├── LogOnDisk: *Enum (2 values) +│ │ │ │ ├── "Disabled" +│ │ │ │ └── "Enabled" +│ │ │ └── StorageSizeGB: *int +│ │ └── Version: *Enum (2 values) +│ │ ├── "5.7" +│ │ └── "8.0.21" +│ ├── Sku: *Object (2 properties) +│ │ ├── Name: *string +│ │ └── Tier: *Enum (3 values) +│ │ ├── "Burstable" +│ │ ├── "GeneralPurpose" +│ │ └── "MemoryOptimized" +│ └── Tags: map[string]string +├── FlexibleServersAdministrator: Resource +│ ├── Owner: FlexibleServer +│ ├── Spec: Object (8 properties) +│ │ ├── AdministratorType: *Enum (1 value) +│ │ │ └── "ActiveDirectory" +│ │ ├── IdentityResourceReference: *genruntime.ResourceReference +│ │ ├── Login: *string +│ │ ├── Owner: *genruntime.KnownResourceReference +│ │ ├── Sid: *string +│ │ ├── SidFromConfig: *genruntime.ConfigMapReference +│ │ ├── TenantId: *string +│ │ └── TenantIdFromConfig: *genruntime.ConfigMapReference +│ └── Status: Object (10 properties) +│ ├── AdministratorType: *Enum (1 value) +│ │ └── "ActiveDirectory" +│ ├── Conditions: conditions.Condition[] +│ ├── Id: *string +│ ├── IdentityResourceId: *string +│ ├── Login: *string +│ ├── Name: *string +│ ├── Sid: *string +│ ├── SystemData: *Object (6 properties) +│ │ ├── CreatedAt: *string +│ │ ├── CreatedBy: *string +│ │ ├── CreatedByType: *Enum (4 values) +│ │ │ ├── "Application" +│ │ │ ├── "Key" +│ │ │ ├── "ManagedIdentity" +│ │ │ └── "User" +│ │ ├── LastModifiedAt: *string +│ │ ├── LastModifiedBy: *string +│ │ └── LastModifiedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ ├── TenantId: *string +│ └── Type: *string +├── FlexibleServersConfiguration: Resource +│ ├── Owner: FlexibleServer +│ ├── Spec: Object (5 properties) +│ │ ├── AzureName: string +│ │ ├── CurrentValue: *string +│ │ ├── Owner: *genruntime.KnownResourceReference +│ │ ├── Source: *Enum (2 values) +│ │ │ ├── "system-default" +│ │ │ └── "user-override" +│ │ └── Value: *string +│ └── Status: Object (16 properties) +│ ├── AllowedValues: *string +│ ├── Conditions: conditions.Condition[] +│ ├── CurrentValue: *string +│ ├── DataType: *string +│ ├── DefaultValue: *string +│ ├── Description: *string +│ ├── DocumentationLink: *string +│ ├── Id: *string +│ ├── IsConfigPendingRestart: *Enum (2 values) +│ │ ├── "False" +│ │ └── "True" +│ ├── IsDynamicConfig: *Enum (2 values) +│ │ ├── "False" +│ │ └── "True" +│ ├── IsReadOnly: *Enum (2 values) +│ │ ├── "False" +│ │ └── "True" +│ ├── Name: *string +│ ├── Source: *Enum (2 values) +│ │ ├── "system-default" +│ │ └── "user-override" +│ ├── SystemData: *Object (6 properties) +│ │ ├── CreatedAt: *string +│ │ ├── CreatedBy: *string +│ │ ├── CreatedByType: *Enum (4 values) +│ │ │ ├── "Application" +│ │ │ ├── "Key" +│ │ │ ├── "ManagedIdentity" +│ │ │ └── "User" +│ │ ├── LastModifiedAt: *string +│ │ ├── LastModifiedBy: *string +│ │ └── LastModifiedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ ├── Type: *string +│ └── Value: *string +├── FlexibleServersDatabase: Resource +│ ├── Owner: FlexibleServer +│ ├── Spec: Object (4 properties) +│ │ ├── AzureName: string +│ │ ├── Charset: *string +│ │ ├── Collation: *string +│ │ └── Owner: *genruntime.KnownResourceReference +│ └── Status: Object (7 properties) +│ ├── Charset: *string +│ ├── Collation: *string +│ ├── Conditions: conditions.Condition[] +│ ├── Id: *string +│ ├── Name: *string +│ ├── SystemData: *Object (6 properties) +│ │ ├── CreatedAt: *string +│ │ ├── CreatedBy: *string +│ │ ├── CreatedByType: *Enum (4 values) +│ │ │ ├── "Application" +│ │ │ ├── "Key" +│ │ │ ├── "ManagedIdentity" +│ │ │ └── "User" +│ │ ├── LastModifiedAt: *string +│ │ ├── LastModifiedBy: *string +│ │ └── LastModifiedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ └── Type: *string +├── FlexibleServersFirewallRule: Resource +│ ├── Owner: FlexibleServer +│ ├── Spec: Object (4 properties) +│ │ ├── AzureName: string +│ │ ├── EndIpAddress: Validated<*string> (1 rule) +│ │ │ └── Rule 0: Pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" +│ │ ├── Owner: *genruntime.KnownResourceReference +│ │ └── StartIpAddress: Validated<*string> (1 rule) +│ │ └── Rule 0: Pattern: "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$" +│ └── Status: Object (7 properties) +│ ├── Conditions: conditions.Condition[] +│ ├── EndIpAddress: *string +│ ├── Id: *string +│ ├── Name: *string +│ ├── StartIpAddress: *string +│ ├── SystemData: *Object (6 properties) +│ │ ├── CreatedAt: *string +│ │ ├── CreatedBy: *string +│ │ ├── CreatedByType: *Enum (4 values) +│ │ │ ├── "Application" +│ │ │ ├── "Key" +│ │ │ ├── "ManagedIdentity" +│ │ │ └── "User" +│ │ ├── LastModifiedAt: *string +│ │ ├── LastModifiedBy: *string +│ │ └── LastModifiedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ └── Type: *string +├── FlexibleServers_Administrator_STATUS_ARM: Object (5 properties) +│ ├── Id: *string +│ ├── Name: *string +│ ├── Properties: *Object (5 properties) +│ │ ├── AdministratorType: *Enum (1 value) +│ │ │ └── "ActiveDirectory" +│ │ ├── IdentityResourceId: *string +│ │ ├── Login: *string +│ │ ├── Sid: *string +│ │ └── TenantId: *string +│ ├── SystemData: *Object (6 properties) +│ │ ├── CreatedAt: *string +│ │ ├── CreatedBy: *string +│ │ ├── CreatedByType: *Enum (4 values) +│ │ │ ├── "Application" +│ │ │ ├── "Key" +│ │ │ ├── "ManagedIdentity" +│ │ │ └── "User" +│ │ ├── LastModifiedAt: *string +│ │ ├── LastModifiedBy: *string +│ │ └── LastModifiedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ └── Type: *string +├── FlexibleServers_Administrator_Spec_ARM: Object (2 properties) +│ ├── Name: string +│ └── Properties: *Object (5 properties) +│ ├── AdministratorType: *Enum (1 value) +│ │ └── "ActiveDirectory" +│ ├── IdentityResourceId: *string +│ ├── Login: *string +│ ├── Sid: *string +│ └── TenantId: *string +├── FlexibleServers_Configuration_STATUS_ARM: Object (5 properties) +│ ├── Id: *string +│ ├── Name: *string +│ ├── Properties: *Object (11 properties) +│ │ ├── AllowedValues: *string +│ │ ├── CurrentValue: *string +│ │ ├── DataType: *string +│ │ ├── DefaultValue: *string +│ │ ├── Description: *string +│ │ ├── DocumentationLink: *string +│ │ ├── IsConfigPendingRestart: *Enum (2 values) +│ │ │ ├── "False" +│ │ │ └── "True" +│ │ ├── IsDynamicConfig: *Enum (2 values) +│ │ │ ├── "False" +│ │ │ └── "True" +│ │ ├── IsReadOnly: *Enum (2 values) +│ │ │ ├── "False" +│ │ │ └── "True" +│ │ ├── Source: *Enum (2 values) +│ │ │ ├── "system-default" +│ │ │ └── "user-override" +│ │ └── Value: *string +│ ├── SystemData: *Object (6 properties) +│ │ ├── CreatedAt: *string +│ │ ├── CreatedBy: *string +│ │ ├── CreatedByType: *Enum (4 values) +│ │ │ ├── "Application" +│ │ │ ├── "Key" +│ │ │ ├── "ManagedIdentity" +│ │ │ └── "User" +│ │ ├── LastModifiedAt: *string +│ │ ├── LastModifiedBy: *string +│ │ └── LastModifiedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ └── Type: *string +├── FlexibleServers_Configuration_Spec_ARM: Object (2 properties) +│ ├── Name: string +│ └── Properties: *Object (3 properties) +│ ├── CurrentValue: *string +│ ├── Source: *Enum (2 values) +│ │ ├── "system-default" +│ │ └── "user-override" +│ └── Value: *string +├── FlexibleServers_Database_STATUS_ARM: Object (5 properties) +│ ├── Id: *string +│ ├── Name: *string +│ ├── Properties: *Object (2 properties) +│ │ ├── Charset: *string +│ │ └── Collation: *string +│ ├── SystemData: *Object (6 properties) +│ │ ├── CreatedAt: *string +│ │ ├── CreatedBy: *string +│ │ ├── CreatedByType: *Enum (4 values) +│ │ │ ├── "Application" +│ │ │ ├── "Key" +│ │ │ ├── "ManagedIdentity" +│ │ │ └── "User" +│ │ ├── LastModifiedAt: *string +│ │ ├── LastModifiedBy: *string +│ │ └── LastModifiedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ └── Type: *string +├── FlexibleServers_Database_Spec_ARM: Object (2 properties) +│ ├── Name: string +│ └── Properties: *Object (2 properties) +│ ├── Charset: *string +│ └── Collation: *string +├── FlexibleServers_FirewallRule_STATUS_ARM: Object (5 properties) +│ ├── Id: *string +│ ├── Name: *string +│ ├── Properties: *Object (2 properties) +│ │ ├── EndIpAddress: *string +│ │ └── StartIpAddress: *string +│ ├── SystemData: *Object (6 properties) +│ │ ├── CreatedAt: *string +│ │ ├── CreatedBy: *string +│ │ ├── CreatedByType: *Enum (4 values) +│ │ │ ├── "Application" +│ │ │ ├── "Key" +│ │ │ ├── "ManagedIdentity" +│ │ │ └── "User" +│ │ ├── LastModifiedAt: *string +│ │ ├── LastModifiedBy: *string +│ │ └── LastModifiedByType: *Enum (4 values) +│ │ ├── "Application" +│ │ ├── "Key" +│ │ ├── "ManagedIdentity" +│ │ └── "User" +│ └── Type: *string +└── FlexibleServers_FirewallRule_Spec_ARM: Object (2 properties) + ├── Name: string + └── Properties: *Object (2 properties) + ├── EndIpAddress: *string + └── StartIpAddress: *string diff --git a/v2/api/dbformysql/v1api20230630/zz_generated.deepcopy.go b/v2/api/dbformysql/v1api20230630/zz_generated.deepcopy.go new file mode 100644 index 00000000000..abdcf57710f --- /dev/null +++ b/v2/api/dbformysql/v1api20230630/zz_generated.deepcopy.go @@ -0,0 +1,3226 @@ +//go:build !ignore_autogenerated + +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +// Code generated by controller-gen. DO NOT EDIT. + +package v1api20230630 + +import ( + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" + "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" + "k8s.io/apimachinery/pkg/runtime" +) + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdministratorProperties_ARM) DeepCopyInto(out *AdministratorProperties_ARM) { + *out = *in + if in.AdministratorType != nil { + in, out := &in.AdministratorType, &out.AdministratorType + *out = new(AdministratorProperties_AdministratorType) + **out = **in + } + if in.IdentityResourceId != nil { + in, out := &in.IdentityResourceId, &out.IdentityResourceId + *out = new(string) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(string) + **out = **in + } + if in.Sid != nil { + in, out := &in.Sid, &out.Sid + *out = new(string) + **out = **in + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdministratorProperties_ARM. +func (in *AdministratorProperties_ARM) DeepCopy() *AdministratorProperties_ARM { + if in == nil { + return nil + } + out := new(AdministratorProperties_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *AdministratorProperties_STATUS_ARM) DeepCopyInto(out *AdministratorProperties_STATUS_ARM) { + *out = *in + if in.AdministratorType != nil { + in, out := &in.AdministratorType, &out.AdministratorType + *out = new(AdministratorProperties_AdministratorType_STATUS) + **out = **in + } + if in.IdentityResourceId != nil { + in, out := &in.IdentityResourceId, &out.IdentityResourceId + *out = new(string) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(string) + **out = **in + } + if in.Sid != nil { + in, out := &in.Sid, &out.Sid + *out = new(string) + **out = **in + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdministratorProperties_STATUS_ARM. +func (in *AdministratorProperties_STATUS_ARM) DeepCopy() *AdministratorProperties_STATUS_ARM { + if in == nil { + return nil + } + out := new(AdministratorProperties_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Backup) DeepCopyInto(out *Backup) { + *out = *in + if in.BackupRetentionDays != nil { + in, out := &in.BackupRetentionDays, &out.BackupRetentionDays + *out = new(int) + **out = **in + } + if in.GeoRedundantBackup != nil { + in, out := &in.GeoRedundantBackup, &out.GeoRedundantBackup + *out = new(EnableStatusEnum) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backup. +func (in *Backup) DeepCopy() *Backup { + if in == nil { + return nil + } + out := new(Backup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Backup_ARM) DeepCopyInto(out *Backup_ARM) { + *out = *in + if in.BackupRetentionDays != nil { + in, out := &in.BackupRetentionDays, &out.BackupRetentionDays + *out = new(int) + **out = **in + } + if in.GeoRedundantBackup != nil { + in, out := &in.GeoRedundantBackup, &out.GeoRedundantBackup + *out = new(EnableStatusEnum) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backup_ARM. +func (in *Backup_ARM) DeepCopy() *Backup_ARM { + if in == nil { + return nil + } + out := new(Backup_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Backup_STATUS) DeepCopyInto(out *Backup_STATUS) { + *out = *in + if in.BackupRetentionDays != nil { + in, out := &in.BackupRetentionDays, &out.BackupRetentionDays + *out = new(int) + **out = **in + } + if in.EarliestRestoreDate != nil { + in, out := &in.EarliestRestoreDate, &out.EarliestRestoreDate + *out = new(string) + **out = **in + } + if in.GeoRedundantBackup != nil { + in, out := &in.GeoRedundantBackup, &out.GeoRedundantBackup + *out = new(EnableStatusEnum_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backup_STATUS. +func (in *Backup_STATUS) DeepCopy() *Backup_STATUS { + if in == nil { + return nil + } + out := new(Backup_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Backup_STATUS_ARM) DeepCopyInto(out *Backup_STATUS_ARM) { + *out = *in + if in.BackupRetentionDays != nil { + in, out := &in.BackupRetentionDays, &out.BackupRetentionDays + *out = new(int) + **out = **in + } + if in.EarliestRestoreDate != nil { + in, out := &in.EarliestRestoreDate, &out.EarliestRestoreDate + *out = new(string) + **out = **in + } + if in.GeoRedundantBackup != nil { + in, out := &in.GeoRedundantBackup, &out.GeoRedundantBackup + *out = new(EnableStatusEnum_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Backup_STATUS_ARM. +func (in *Backup_STATUS_ARM) DeepCopy() *Backup_STATUS_ARM { + if in == nil { + return nil + } + out := new(Backup_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigurationProperties_ARM) DeepCopyInto(out *ConfigurationProperties_ARM) { + *out = *in + if in.CurrentValue != nil { + in, out := &in.CurrentValue, &out.CurrentValue + *out = new(string) + **out = **in + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(ConfigurationProperties_Source) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationProperties_ARM. +func (in *ConfigurationProperties_ARM) DeepCopy() *ConfigurationProperties_ARM { + if in == nil { + return nil + } + out := new(ConfigurationProperties_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConfigurationProperties_STATUS_ARM) DeepCopyInto(out *ConfigurationProperties_STATUS_ARM) { + *out = *in + if in.AllowedValues != nil { + in, out := &in.AllowedValues, &out.AllowedValues + *out = new(string) + **out = **in + } + if in.CurrentValue != nil { + in, out := &in.CurrentValue, &out.CurrentValue + *out = new(string) + **out = **in + } + if in.DataType != nil { + in, out := &in.DataType, &out.DataType + *out = new(string) + **out = **in + } + if in.DefaultValue != nil { + in, out := &in.DefaultValue, &out.DefaultValue + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DocumentationLink != nil { + in, out := &in.DocumentationLink, &out.DocumentationLink + *out = new(string) + **out = **in + } + if in.IsConfigPendingRestart != nil { + in, out := &in.IsConfigPendingRestart, &out.IsConfigPendingRestart + *out = new(ConfigurationProperties_IsConfigPendingRestart_STATUS) + **out = **in + } + if in.IsDynamicConfig != nil { + in, out := &in.IsDynamicConfig, &out.IsDynamicConfig + *out = new(ConfigurationProperties_IsDynamicConfig_STATUS) + **out = **in + } + if in.IsReadOnly != nil { + in, out := &in.IsReadOnly, &out.IsReadOnly + *out = new(ConfigurationProperties_IsReadOnly_STATUS) + **out = **in + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(ConfigurationProperties_Source_STATUS) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConfigurationProperties_STATUS_ARM. +func (in *ConfigurationProperties_STATUS_ARM) DeepCopy() *ConfigurationProperties_STATUS_ARM { + if in == nil { + return nil + } + out := new(ConfigurationProperties_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DataEncryption) DeepCopyInto(out *DataEncryption) { + *out = *in + if in.GeoBackupKeyURI != nil { + in, out := &in.GeoBackupKeyURI, &out.GeoBackupKeyURI + *out = new(string) + **out = **in + } + if in.GeoBackupUserAssignedIdentityReference != nil { + in, out := &in.GeoBackupUserAssignedIdentityReference, &out.GeoBackupUserAssignedIdentityReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PrimaryKeyURI != nil { + in, out := &in.PrimaryKeyURI, &out.PrimaryKeyURI + *out = new(string) + **out = **in + } + if in.PrimaryUserAssignedIdentityReference != nil { + in, out := &in.PrimaryUserAssignedIdentityReference, &out.PrimaryUserAssignedIdentityReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(DataEncryption_Type) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataEncryption. +func (in *DataEncryption) DeepCopy() *DataEncryption { + if in == nil { + return nil + } + out := new(DataEncryption) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DataEncryption_ARM) DeepCopyInto(out *DataEncryption_ARM) { + *out = *in + if in.GeoBackupKeyURI != nil { + in, out := &in.GeoBackupKeyURI, &out.GeoBackupKeyURI + *out = new(string) + **out = **in + } + if in.GeoBackupUserAssignedIdentityId != nil { + in, out := &in.GeoBackupUserAssignedIdentityId, &out.GeoBackupUserAssignedIdentityId + *out = new(string) + **out = **in + } + if in.PrimaryKeyURI != nil { + in, out := &in.PrimaryKeyURI, &out.PrimaryKeyURI + *out = new(string) + **out = **in + } + if in.PrimaryUserAssignedIdentityId != nil { + in, out := &in.PrimaryUserAssignedIdentityId, &out.PrimaryUserAssignedIdentityId + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(DataEncryption_Type) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataEncryption_ARM. +func (in *DataEncryption_ARM) DeepCopy() *DataEncryption_ARM { + if in == nil { + return nil + } + out := new(DataEncryption_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DataEncryption_STATUS) DeepCopyInto(out *DataEncryption_STATUS) { + *out = *in + if in.GeoBackupKeyURI != nil { + in, out := &in.GeoBackupKeyURI, &out.GeoBackupKeyURI + *out = new(string) + **out = **in + } + if in.GeoBackupUserAssignedIdentityId != nil { + in, out := &in.GeoBackupUserAssignedIdentityId, &out.GeoBackupUserAssignedIdentityId + *out = new(string) + **out = **in + } + if in.PrimaryKeyURI != nil { + in, out := &in.PrimaryKeyURI, &out.PrimaryKeyURI + *out = new(string) + **out = **in + } + if in.PrimaryUserAssignedIdentityId != nil { + in, out := &in.PrimaryUserAssignedIdentityId, &out.PrimaryUserAssignedIdentityId + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(DataEncryption_Type_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataEncryption_STATUS. +func (in *DataEncryption_STATUS) DeepCopy() *DataEncryption_STATUS { + if in == nil { + return nil + } + out := new(DataEncryption_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DataEncryption_STATUS_ARM) DeepCopyInto(out *DataEncryption_STATUS_ARM) { + *out = *in + if in.GeoBackupKeyURI != nil { + in, out := &in.GeoBackupKeyURI, &out.GeoBackupKeyURI + *out = new(string) + **out = **in + } + if in.GeoBackupUserAssignedIdentityId != nil { + in, out := &in.GeoBackupUserAssignedIdentityId, &out.GeoBackupUserAssignedIdentityId + *out = new(string) + **out = **in + } + if in.PrimaryKeyURI != nil { + in, out := &in.PrimaryKeyURI, &out.PrimaryKeyURI + *out = new(string) + **out = **in + } + if in.PrimaryUserAssignedIdentityId != nil { + in, out := &in.PrimaryUserAssignedIdentityId, &out.PrimaryUserAssignedIdentityId + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(DataEncryption_Type_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataEncryption_STATUS_ARM. +func (in *DataEncryption_STATUS_ARM) DeepCopy() *DataEncryption_STATUS_ARM { + if in == nil { + return nil + } + out := new(DataEncryption_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseProperties_ARM) DeepCopyInto(out *DatabaseProperties_ARM) { + *out = *in + if in.Charset != nil { + in, out := &in.Charset, &out.Charset + *out = new(string) + **out = **in + } + if in.Collation != nil { + in, out := &in.Collation, &out.Collation + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseProperties_ARM. +func (in *DatabaseProperties_ARM) DeepCopy() *DatabaseProperties_ARM { + if in == nil { + return nil + } + out := new(DatabaseProperties_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *DatabaseProperties_STATUS_ARM) DeepCopyInto(out *DatabaseProperties_STATUS_ARM) { + *out = *in + if in.Charset != nil { + in, out := &in.Charset, &out.Charset + *out = new(string) + **out = **in + } + if in.Collation != nil { + in, out := &in.Collation, &out.Collation + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatabaseProperties_STATUS_ARM. +func (in *DatabaseProperties_STATUS_ARM) DeepCopy() *DatabaseProperties_STATUS_ARM { + if in == nil { + return nil + } + out := new(DatabaseProperties_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallRuleProperties_ARM) DeepCopyInto(out *FirewallRuleProperties_ARM) { + *out = *in + if in.EndIpAddress != nil { + in, out := &in.EndIpAddress, &out.EndIpAddress + *out = new(string) + **out = **in + } + if in.StartIpAddress != nil { + in, out := &in.StartIpAddress, &out.StartIpAddress + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleProperties_ARM. +func (in *FirewallRuleProperties_ARM) DeepCopy() *FirewallRuleProperties_ARM { + if in == nil { + return nil + } + out := new(FirewallRuleProperties_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FirewallRuleProperties_STATUS_ARM) DeepCopyInto(out *FirewallRuleProperties_STATUS_ARM) { + *out = *in + if in.EndIpAddress != nil { + in, out := &in.EndIpAddress, &out.EndIpAddress + *out = new(string) + **out = **in + } + if in.StartIpAddress != nil { + in, out := &in.StartIpAddress, &out.StartIpAddress + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FirewallRuleProperties_STATUS_ARM. +func (in *FirewallRuleProperties_STATUS_ARM) DeepCopy() *FirewallRuleProperties_STATUS_ARM { + if in == nil { + return nil + } + out := new(FirewallRuleProperties_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServer) DeepCopyInto(out *FlexibleServer) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServer. +func (in *FlexibleServer) DeepCopy() *FlexibleServer { + if in == nil { + return nil + } + out := new(FlexibleServer) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServer) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServerList) DeepCopyInto(out *FlexibleServerList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FlexibleServer, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServerList. +func (in *FlexibleServerList) DeepCopy() *FlexibleServerList { + if in == nil { + return nil + } + out := new(FlexibleServerList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServerList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServerOperatorConfigMaps) DeepCopyInto(out *FlexibleServerOperatorConfigMaps) { + *out = *in + if in.AdministratorLogin != nil { + in, out := &in.AdministratorLogin, &out.AdministratorLogin + *out = new(genruntime.ConfigMapDestination) + **out = **in + } + if in.FullyQualifiedDomainName != nil { + in, out := &in.FullyQualifiedDomainName, &out.FullyQualifiedDomainName + *out = new(genruntime.ConfigMapDestination) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServerOperatorConfigMaps. +func (in *FlexibleServerOperatorConfigMaps) DeepCopy() *FlexibleServerOperatorConfigMaps { + if in == nil { + return nil + } + out := new(FlexibleServerOperatorConfigMaps) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServerOperatorSecrets) DeepCopyInto(out *FlexibleServerOperatorSecrets) { + *out = *in + if in.FullyQualifiedDomainName != nil { + in, out := &in.FullyQualifiedDomainName, &out.FullyQualifiedDomainName + *out = new(genruntime.SecretDestination) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServerOperatorSecrets. +func (in *FlexibleServerOperatorSecrets) DeepCopy() *FlexibleServerOperatorSecrets { + if in == nil { + return nil + } + out := new(FlexibleServerOperatorSecrets) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServerOperatorSpec) DeepCopyInto(out *FlexibleServerOperatorSpec) { + *out = *in + if in.ConfigMaps != nil { + in, out := &in.ConfigMaps, &out.ConfigMaps + *out = new(FlexibleServerOperatorConfigMaps) + (*in).DeepCopyInto(*out) + } + if in.Secrets != nil { + in, out := &in.Secrets, &out.Secrets + *out = new(FlexibleServerOperatorSecrets) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServerOperatorSpec. +func (in *FlexibleServerOperatorSpec) DeepCopy() *FlexibleServerOperatorSpec { + if in == nil { + return nil + } + out := new(FlexibleServerOperatorSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServer_STATUS) DeepCopyInto(out *FlexibleServer_STATUS) { + *out = *in + if in.AdministratorLogin != nil { + in, out := &in.AdministratorLogin, &out.AdministratorLogin + *out = new(string) + **out = **in + } + if in.AvailabilityZone != nil { + in, out := &in.AvailabilityZone, &out.AvailabilityZone + *out = new(string) + **out = **in + } + if in.Backup != nil { + in, out := &in.Backup, &out.Backup + *out = new(Backup_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CreateMode != nil { + in, out := &in.CreateMode, &out.CreateMode + *out = new(ServerProperties_CreateMode_STATUS) + **out = **in + } + if in.DataEncryption != nil { + in, out := &in.DataEncryption, &out.DataEncryption + *out = new(DataEncryption_STATUS) + (*in).DeepCopyInto(*out) + } + if in.FullyQualifiedDomainName != nil { + in, out := &in.FullyQualifiedDomainName, &out.FullyQualifiedDomainName + *out = new(string) + **out = **in + } + if in.HighAvailability != nil { + in, out := &in.HighAvailability, &out.HighAvailability + *out = new(HighAvailability_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(MySQLServerIdentity_STATUS) + (*in).DeepCopyInto(*out) + } + if in.ImportSourceProperties != nil { + in, out := &in.ImportSourceProperties, &out.ImportSourceProperties + *out = new(ImportSourceProperties_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(MaintenanceWindow_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(Network_STATUS) + (*in).DeepCopyInto(*out) + } + if in.PrivateEndpointConnections != nil { + in, out := &in.PrivateEndpointConnections, &out.PrivateEndpointConnections + *out = make([]PrivateEndpointConnection_STATUS, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ReplicaCapacity != nil { + in, out := &in.ReplicaCapacity, &out.ReplicaCapacity + *out = new(int) + **out = **in + } + if in.ReplicationRole != nil { + in, out := &in.ReplicationRole, &out.ReplicationRole + *out = new(ReplicationRole_STATUS) + **out = **in + } + if in.RestorePointInTime != nil { + in, out := &in.RestorePointInTime, &out.RestorePointInTime + *out = new(string) + **out = **in + } + if in.Sku != nil { + in, out := &in.Sku, &out.Sku + *out = new(MySQLServerSku_STATUS) + (*in).DeepCopyInto(*out) + } + if in.SourceServerResourceId != nil { + in, out := &in.SourceServerResourceId, &out.SourceServerResourceId + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(ServerProperties_State_STATUS) + **out = **in + } + if in.Storage != nil { + in, out := &in.Storage, &out.Storage + *out = new(Storage_STATUS) + (*in).DeepCopyInto(*out) + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(ServerVersion_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServer_STATUS. +func (in *FlexibleServer_STATUS) DeepCopy() *FlexibleServer_STATUS { + if in == nil { + return nil + } + out := new(FlexibleServer_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServer_STATUS_ARM) DeepCopyInto(out *FlexibleServer_STATUS_ARM) { + *out = *in + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(MySQLServerIdentity_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(ServerProperties_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.Sku != nil { + in, out := &in.Sku, &out.Sku + *out = new(MySQLServerSku_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServer_STATUS_ARM. +func (in *FlexibleServer_STATUS_ARM) DeepCopy() *FlexibleServer_STATUS_ARM { + if in == nil { + return nil + } + out := new(FlexibleServer_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServer_Spec) DeepCopyInto(out *FlexibleServer_Spec) { + *out = *in + if in.AdministratorLogin != nil { + in, out := &in.AdministratorLogin, &out.AdministratorLogin + *out = new(string) + **out = **in + } + if in.AdministratorLoginPassword != nil { + in, out := &in.AdministratorLoginPassword, &out.AdministratorLoginPassword + *out = new(genruntime.SecretReference) + **out = **in + } + if in.AvailabilityZone != nil { + in, out := &in.AvailabilityZone, &out.AvailabilityZone + *out = new(string) + **out = **in + } + if in.Backup != nil { + in, out := &in.Backup, &out.Backup + *out = new(Backup) + (*in).DeepCopyInto(*out) + } + if in.CreateMode != nil { + in, out := &in.CreateMode, &out.CreateMode + *out = new(ServerProperties_CreateMode) + **out = **in + } + if in.DataEncryption != nil { + in, out := &in.DataEncryption, &out.DataEncryption + *out = new(DataEncryption) + (*in).DeepCopyInto(*out) + } + if in.HighAvailability != nil { + in, out := &in.HighAvailability, &out.HighAvailability + *out = new(HighAvailability) + (*in).DeepCopyInto(*out) + } + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(MySQLServerIdentity) + (*in).DeepCopyInto(*out) + } + if in.ImportSourceProperties != nil { + in, out := &in.ImportSourceProperties, &out.ImportSourceProperties + *out = new(ImportSourceProperties) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(MaintenanceWindow) + (*in).DeepCopyInto(*out) + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(Network) + (*in).DeepCopyInto(*out) + } + if in.OperatorSpec != nil { + in, out := &in.OperatorSpec, &out.OperatorSpec + *out = new(FlexibleServerOperatorSpec) + (*in).DeepCopyInto(*out) + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.ReplicationRole != nil { + in, out := &in.ReplicationRole, &out.ReplicationRole + *out = new(ReplicationRole) + **out = **in + } + if in.RestorePointInTime != nil { + in, out := &in.RestorePointInTime, &out.RestorePointInTime + *out = new(string) + **out = **in + } + if in.Sku != nil { + in, out := &in.Sku, &out.Sku + *out = new(MySQLServerSku) + (*in).DeepCopyInto(*out) + } + if in.SourceServerResourceReference != nil { + in, out := &in.SourceServerResourceReference, &out.SourceServerResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Storage != nil { + in, out := &in.Storage, &out.Storage + *out = new(Storage) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(ServerVersion) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServer_Spec. +func (in *FlexibleServer_Spec) DeepCopy() *FlexibleServer_Spec { + if in == nil { + return nil + } + out := new(FlexibleServer_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServer_Spec_ARM) DeepCopyInto(out *FlexibleServer_Spec_ARM) { + *out = *in + if in.Identity != nil { + in, out := &in.Identity, &out.Identity + *out = new(MySQLServerIdentity_ARM) + (*in).DeepCopyInto(*out) + } + if in.Location != nil { + in, out := &in.Location, &out.Location + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(ServerProperties_ARM) + (*in).DeepCopyInto(*out) + } + if in.Sku != nil { + in, out := &in.Sku, &out.Sku + *out = new(MySQLServerSku_ARM) + (*in).DeepCopyInto(*out) + } + if in.Tags != nil { + in, out := &in.Tags, &out.Tags + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServer_Spec_ARM. +func (in *FlexibleServer_Spec_ARM) DeepCopy() *FlexibleServer_Spec_ARM { + if in == nil { + return nil + } + out := new(FlexibleServer_Spec_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersAdministrator) DeepCopyInto(out *FlexibleServersAdministrator) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersAdministrator. +func (in *FlexibleServersAdministrator) DeepCopy() *FlexibleServersAdministrator { + if in == nil { + return nil + } + out := new(FlexibleServersAdministrator) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersAdministrator) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersAdministratorList) DeepCopyInto(out *FlexibleServersAdministratorList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FlexibleServersAdministrator, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersAdministratorList. +func (in *FlexibleServersAdministratorList) DeepCopy() *FlexibleServersAdministratorList { + if in == nil { + return nil + } + out := new(FlexibleServersAdministratorList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersAdministratorList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersConfiguration) DeepCopyInto(out *FlexibleServersConfiguration) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersConfiguration. +func (in *FlexibleServersConfiguration) DeepCopy() *FlexibleServersConfiguration { + if in == nil { + return nil + } + out := new(FlexibleServersConfiguration) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersConfiguration) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersConfigurationList) DeepCopyInto(out *FlexibleServersConfigurationList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FlexibleServersConfiguration, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersConfigurationList. +func (in *FlexibleServersConfigurationList) DeepCopy() *FlexibleServersConfigurationList { + if in == nil { + return nil + } + out := new(FlexibleServersConfigurationList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersConfigurationList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersDatabase) DeepCopyInto(out *FlexibleServersDatabase) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersDatabase. +func (in *FlexibleServersDatabase) DeepCopy() *FlexibleServersDatabase { + if in == nil { + return nil + } + out := new(FlexibleServersDatabase) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersDatabase) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersDatabaseList) DeepCopyInto(out *FlexibleServersDatabaseList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FlexibleServersDatabase, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersDatabaseList. +func (in *FlexibleServersDatabaseList) DeepCopy() *FlexibleServersDatabaseList { + if in == nil { + return nil + } + out := new(FlexibleServersDatabaseList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersDatabaseList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersFirewallRule) DeepCopyInto(out *FlexibleServersFirewallRule) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersFirewallRule. +func (in *FlexibleServersFirewallRule) DeepCopy() *FlexibleServersFirewallRule { + if in == nil { + return nil + } + out := new(FlexibleServersFirewallRule) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersFirewallRule) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServersFirewallRuleList) DeepCopyInto(out *FlexibleServersFirewallRuleList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]FlexibleServersFirewallRule, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServersFirewallRuleList. +func (in *FlexibleServersFirewallRuleList) DeepCopy() *FlexibleServersFirewallRuleList { + if in == nil { + return nil + } + out := new(FlexibleServersFirewallRuleList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *FlexibleServersFirewallRuleList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Administrator_STATUS) DeepCopyInto(out *FlexibleServers_Administrator_STATUS) { + *out = *in + if in.AdministratorType != nil { + in, out := &in.AdministratorType, &out.AdministratorType + *out = new(AdministratorProperties_AdministratorType_STATUS) + **out = **in + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.IdentityResourceId != nil { + in, out := &in.IdentityResourceId, &out.IdentityResourceId + *out = new(string) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Sid != nil { + in, out := &in.Sid, &out.Sid + *out = new(string) + **out = **in + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Administrator_STATUS. +func (in *FlexibleServers_Administrator_STATUS) DeepCopy() *FlexibleServers_Administrator_STATUS { + if in == nil { + return nil + } + out := new(FlexibleServers_Administrator_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Administrator_STATUS_ARM) DeepCopyInto(out *FlexibleServers_Administrator_STATUS_ARM) { + *out = *in + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(AdministratorProperties_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Administrator_STATUS_ARM. +func (in *FlexibleServers_Administrator_STATUS_ARM) DeepCopy() *FlexibleServers_Administrator_STATUS_ARM { + if in == nil { + return nil + } + out := new(FlexibleServers_Administrator_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Administrator_Spec) DeepCopyInto(out *FlexibleServers_Administrator_Spec) { + *out = *in + if in.AdministratorType != nil { + in, out := &in.AdministratorType, &out.AdministratorType + *out = new(AdministratorProperties_AdministratorType) + **out = **in + } + if in.IdentityResourceReference != nil { + in, out := &in.IdentityResourceReference, &out.IdentityResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.Login != nil { + in, out := &in.Login, &out.Login + *out = new(string) + **out = **in + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.Sid != nil { + in, out := &in.Sid, &out.Sid + *out = new(string) + **out = **in + } + if in.SidFromConfig != nil { + in, out := &in.SidFromConfig, &out.SidFromConfig + *out = new(genruntime.ConfigMapReference) + **out = **in + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } + if in.TenantIdFromConfig != nil { + in, out := &in.TenantIdFromConfig, &out.TenantIdFromConfig + *out = new(genruntime.ConfigMapReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Administrator_Spec. +func (in *FlexibleServers_Administrator_Spec) DeepCopy() *FlexibleServers_Administrator_Spec { + if in == nil { + return nil + } + out := new(FlexibleServers_Administrator_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Administrator_Spec_ARM) DeepCopyInto(out *FlexibleServers_Administrator_Spec_ARM) { + *out = *in + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(AdministratorProperties_ARM) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Administrator_Spec_ARM. +func (in *FlexibleServers_Administrator_Spec_ARM) DeepCopy() *FlexibleServers_Administrator_Spec_ARM { + if in == nil { + return nil + } + out := new(FlexibleServers_Administrator_Spec_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Configuration_STATUS) DeepCopyInto(out *FlexibleServers_Configuration_STATUS) { + *out = *in + if in.AllowedValues != nil { + in, out := &in.AllowedValues, &out.AllowedValues + *out = new(string) + **out = **in + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.CurrentValue != nil { + in, out := &in.CurrentValue, &out.CurrentValue + *out = new(string) + **out = **in + } + if in.DataType != nil { + in, out := &in.DataType, &out.DataType + *out = new(string) + **out = **in + } + if in.DefaultValue != nil { + in, out := &in.DefaultValue, &out.DefaultValue + *out = new(string) + **out = **in + } + if in.Description != nil { + in, out := &in.Description, &out.Description + *out = new(string) + **out = **in + } + if in.DocumentationLink != nil { + in, out := &in.DocumentationLink, &out.DocumentationLink + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.IsConfigPendingRestart != nil { + in, out := &in.IsConfigPendingRestart, &out.IsConfigPendingRestart + *out = new(ConfigurationProperties_IsConfigPendingRestart_STATUS) + **out = **in + } + if in.IsDynamicConfig != nil { + in, out := &in.IsDynamicConfig, &out.IsDynamicConfig + *out = new(ConfigurationProperties_IsDynamicConfig_STATUS) + **out = **in + } + if in.IsReadOnly != nil { + in, out := &in.IsReadOnly, &out.IsReadOnly + *out = new(ConfigurationProperties_IsReadOnly_STATUS) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(ConfigurationProperties_Source_STATUS) + **out = **in + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Configuration_STATUS. +func (in *FlexibleServers_Configuration_STATUS) DeepCopy() *FlexibleServers_Configuration_STATUS { + if in == nil { + return nil + } + out := new(FlexibleServers_Configuration_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Configuration_STATUS_ARM) DeepCopyInto(out *FlexibleServers_Configuration_STATUS_ARM) { + *out = *in + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(ConfigurationProperties_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Configuration_STATUS_ARM. +func (in *FlexibleServers_Configuration_STATUS_ARM) DeepCopy() *FlexibleServers_Configuration_STATUS_ARM { + if in == nil { + return nil + } + out := new(FlexibleServers_Configuration_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Configuration_Spec) DeepCopyInto(out *FlexibleServers_Configuration_Spec) { + *out = *in + if in.CurrentValue != nil { + in, out := &in.CurrentValue, &out.CurrentValue + *out = new(string) + **out = **in + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.Source != nil { + in, out := &in.Source, &out.Source + *out = new(ConfigurationProperties_Source) + **out = **in + } + if in.Value != nil { + in, out := &in.Value, &out.Value + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Configuration_Spec. +func (in *FlexibleServers_Configuration_Spec) DeepCopy() *FlexibleServers_Configuration_Spec { + if in == nil { + return nil + } + out := new(FlexibleServers_Configuration_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Configuration_Spec_ARM) DeepCopyInto(out *FlexibleServers_Configuration_Spec_ARM) { + *out = *in + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(ConfigurationProperties_ARM) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Configuration_Spec_ARM. +func (in *FlexibleServers_Configuration_Spec_ARM) DeepCopy() *FlexibleServers_Configuration_Spec_ARM { + if in == nil { + return nil + } + out := new(FlexibleServers_Configuration_Spec_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Database_STATUS) DeepCopyInto(out *FlexibleServers_Database_STATUS) { + *out = *in + if in.Charset != nil { + in, out := &in.Charset, &out.Charset + *out = new(string) + **out = **in + } + if in.Collation != nil { + in, out := &in.Collation, &out.Collation + *out = new(string) + **out = **in + } + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Database_STATUS. +func (in *FlexibleServers_Database_STATUS) DeepCopy() *FlexibleServers_Database_STATUS { + if in == nil { + return nil + } + out := new(FlexibleServers_Database_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Database_STATUS_ARM) DeepCopyInto(out *FlexibleServers_Database_STATUS_ARM) { + *out = *in + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(DatabaseProperties_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Database_STATUS_ARM. +func (in *FlexibleServers_Database_STATUS_ARM) DeepCopy() *FlexibleServers_Database_STATUS_ARM { + if in == nil { + return nil + } + out := new(FlexibleServers_Database_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Database_Spec) DeepCopyInto(out *FlexibleServers_Database_Spec) { + *out = *in + if in.Charset != nil { + in, out := &in.Charset, &out.Charset + *out = new(string) + **out = **in + } + if in.Collation != nil { + in, out := &in.Collation, &out.Collation + *out = new(string) + **out = **in + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Database_Spec. +func (in *FlexibleServers_Database_Spec) DeepCopy() *FlexibleServers_Database_Spec { + if in == nil { + return nil + } + out := new(FlexibleServers_Database_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_Database_Spec_ARM) DeepCopyInto(out *FlexibleServers_Database_Spec_ARM) { + *out = *in + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(DatabaseProperties_ARM) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_Database_Spec_ARM. +func (in *FlexibleServers_Database_Spec_ARM) DeepCopy() *FlexibleServers_Database_Spec_ARM { + if in == nil { + return nil + } + out := new(FlexibleServers_Database_Spec_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_FirewallRule_STATUS) DeepCopyInto(out *FlexibleServers_FirewallRule_STATUS) { + *out = *in + if in.Conditions != nil { + in, out := &in.Conditions, &out.Conditions + *out = make([]conditions.Condition, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.EndIpAddress != nil { + in, out := &in.EndIpAddress, &out.EndIpAddress + *out = new(string) + **out = **in + } + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.StartIpAddress != nil { + in, out := &in.StartIpAddress, &out.StartIpAddress + *out = new(string) + **out = **in + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_FirewallRule_STATUS. +func (in *FlexibleServers_FirewallRule_STATUS) DeepCopy() *FlexibleServers_FirewallRule_STATUS { + if in == nil { + return nil + } + out := new(FlexibleServers_FirewallRule_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_FirewallRule_STATUS_ARM) DeepCopyInto(out *FlexibleServers_FirewallRule_STATUS_ARM) { + *out = *in + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(FirewallRuleProperties_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.SystemData != nil { + in, out := &in.SystemData, &out.SystemData + *out = new(SystemData_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_FirewallRule_STATUS_ARM. +func (in *FlexibleServers_FirewallRule_STATUS_ARM) DeepCopy() *FlexibleServers_FirewallRule_STATUS_ARM { + if in == nil { + return nil + } + out := new(FlexibleServers_FirewallRule_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_FirewallRule_Spec) DeepCopyInto(out *FlexibleServers_FirewallRule_Spec) { + *out = *in + if in.EndIpAddress != nil { + in, out := &in.EndIpAddress, &out.EndIpAddress + *out = new(string) + **out = **in + } + if in.Owner != nil { + in, out := &in.Owner, &out.Owner + *out = new(genruntime.KnownResourceReference) + **out = **in + } + if in.StartIpAddress != nil { + in, out := &in.StartIpAddress, &out.StartIpAddress + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_FirewallRule_Spec. +func (in *FlexibleServers_FirewallRule_Spec) DeepCopy() *FlexibleServers_FirewallRule_Spec { + if in == nil { + return nil + } + out := new(FlexibleServers_FirewallRule_Spec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *FlexibleServers_FirewallRule_Spec_ARM) DeepCopyInto(out *FlexibleServers_FirewallRule_Spec_ARM) { + *out = *in + if in.Properties != nil { + in, out := &in.Properties, &out.Properties + *out = new(FirewallRuleProperties_ARM) + (*in).DeepCopyInto(*out) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new FlexibleServers_FirewallRule_Spec_ARM. +func (in *FlexibleServers_FirewallRule_Spec_ARM) DeepCopy() *FlexibleServers_FirewallRule_Spec_ARM { + if in == nil { + return nil + } + out := new(FlexibleServers_FirewallRule_Spec_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HighAvailability) DeepCopyInto(out *HighAvailability) { + *out = *in + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(HighAvailability_Mode) + **out = **in + } + if in.StandbyAvailabilityZone != nil { + in, out := &in.StandbyAvailabilityZone, &out.StandbyAvailabilityZone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HighAvailability. +func (in *HighAvailability) DeepCopy() *HighAvailability { + if in == nil { + return nil + } + out := new(HighAvailability) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HighAvailability_ARM) DeepCopyInto(out *HighAvailability_ARM) { + *out = *in + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(HighAvailability_Mode) + **out = **in + } + if in.StandbyAvailabilityZone != nil { + in, out := &in.StandbyAvailabilityZone, &out.StandbyAvailabilityZone + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HighAvailability_ARM. +func (in *HighAvailability_ARM) DeepCopy() *HighAvailability_ARM { + if in == nil { + return nil + } + out := new(HighAvailability_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HighAvailability_STATUS) DeepCopyInto(out *HighAvailability_STATUS) { + *out = *in + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(HighAvailability_Mode_STATUS) + **out = **in + } + if in.StandbyAvailabilityZone != nil { + in, out := &in.StandbyAvailabilityZone, &out.StandbyAvailabilityZone + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(HighAvailability_State_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HighAvailability_STATUS. +func (in *HighAvailability_STATUS) DeepCopy() *HighAvailability_STATUS { + if in == nil { + return nil + } + out := new(HighAvailability_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *HighAvailability_STATUS_ARM) DeepCopyInto(out *HighAvailability_STATUS_ARM) { + *out = *in + if in.Mode != nil { + in, out := &in.Mode, &out.Mode + *out = new(HighAvailability_Mode_STATUS) + **out = **in + } + if in.StandbyAvailabilityZone != nil { + in, out := &in.StandbyAvailabilityZone, &out.StandbyAvailabilityZone + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(HighAvailability_State_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HighAvailability_STATUS_ARM. +func (in *HighAvailability_STATUS_ARM) DeepCopy() *HighAvailability_STATUS_ARM { + if in == nil { + return nil + } + out := new(HighAvailability_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImportSourceProperties) DeepCopyInto(out *ImportSourceProperties) { + *out = *in + if in.DataDirPath != nil { + in, out := &in.DataDirPath, &out.DataDirPath + *out = new(string) + **out = **in + } + if in.SasToken != nil { + in, out := &in.SasToken, &out.SasToken + *out = new(genruntime.SecretReference) + **out = **in + } + if in.StorageType != nil { + in, out := &in.StorageType, &out.StorageType + *out = new(ImportSourceProperties_StorageType) + **out = **in + } + if in.StorageUrl != nil { + in, out := &in.StorageUrl, &out.StorageUrl + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImportSourceProperties. +func (in *ImportSourceProperties) DeepCopy() *ImportSourceProperties { + if in == nil { + return nil + } + out := new(ImportSourceProperties) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImportSourceProperties_ARM) DeepCopyInto(out *ImportSourceProperties_ARM) { + *out = *in + if in.DataDirPath != nil { + in, out := &in.DataDirPath, &out.DataDirPath + *out = new(string) + **out = **in + } + if in.SasToken != nil { + in, out := &in.SasToken, &out.SasToken + *out = new(string) + **out = **in + } + if in.StorageType != nil { + in, out := &in.StorageType, &out.StorageType + *out = new(ImportSourceProperties_StorageType) + **out = **in + } + if in.StorageUrl != nil { + in, out := &in.StorageUrl, &out.StorageUrl + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImportSourceProperties_ARM. +func (in *ImportSourceProperties_ARM) DeepCopy() *ImportSourceProperties_ARM { + if in == nil { + return nil + } + out := new(ImportSourceProperties_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImportSourceProperties_STATUS) DeepCopyInto(out *ImportSourceProperties_STATUS) { + *out = *in + if in.DataDirPath != nil { + in, out := &in.DataDirPath, &out.DataDirPath + *out = new(string) + **out = **in + } + if in.StorageType != nil { + in, out := &in.StorageType, &out.StorageType + *out = new(ImportSourceProperties_StorageType_STATUS) + **out = **in + } + if in.StorageUrl != nil { + in, out := &in.StorageUrl, &out.StorageUrl + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImportSourceProperties_STATUS. +func (in *ImportSourceProperties_STATUS) DeepCopy() *ImportSourceProperties_STATUS { + if in == nil { + return nil + } + out := new(ImportSourceProperties_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ImportSourceProperties_STATUS_ARM) DeepCopyInto(out *ImportSourceProperties_STATUS_ARM) { + *out = *in + if in.DataDirPath != nil { + in, out := &in.DataDirPath, &out.DataDirPath + *out = new(string) + **out = **in + } + if in.StorageType != nil { + in, out := &in.StorageType, &out.StorageType + *out = new(ImportSourceProperties_StorageType_STATUS) + **out = **in + } + if in.StorageUrl != nil { + in, out := &in.StorageUrl, &out.StorageUrl + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImportSourceProperties_STATUS_ARM. +func (in *ImportSourceProperties_STATUS_ARM) DeepCopy() *ImportSourceProperties_STATUS_ARM { + if in == nil { + return nil + } + out := new(ImportSourceProperties_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceWindow) DeepCopyInto(out *MaintenanceWindow) { + *out = *in + if in.CustomWindow != nil { + in, out := &in.CustomWindow, &out.CustomWindow + *out = new(string) + **out = **in + } + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(int) + **out = **in + } + if in.StartHour != nil { + in, out := &in.StartHour, &out.StartHour + *out = new(int) + **out = **in + } + if in.StartMinute != nil { + in, out := &in.StartMinute, &out.StartMinute + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindow. +func (in *MaintenanceWindow) DeepCopy() *MaintenanceWindow { + if in == nil { + return nil + } + out := new(MaintenanceWindow) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceWindow_ARM) DeepCopyInto(out *MaintenanceWindow_ARM) { + *out = *in + if in.CustomWindow != nil { + in, out := &in.CustomWindow, &out.CustomWindow + *out = new(string) + **out = **in + } + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(int) + **out = **in + } + if in.StartHour != nil { + in, out := &in.StartHour, &out.StartHour + *out = new(int) + **out = **in + } + if in.StartMinute != nil { + in, out := &in.StartMinute, &out.StartMinute + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindow_ARM. +func (in *MaintenanceWindow_ARM) DeepCopy() *MaintenanceWindow_ARM { + if in == nil { + return nil + } + out := new(MaintenanceWindow_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceWindow_STATUS) DeepCopyInto(out *MaintenanceWindow_STATUS) { + *out = *in + if in.CustomWindow != nil { + in, out := &in.CustomWindow, &out.CustomWindow + *out = new(string) + **out = **in + } + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(int) + **out = **in + } + if in.StartHour != nil { + in, out := &in.StartHour, &out.StartHour + *out = new(int) + **out = **in + } + if in.StartMinute != nil { + in, out := &in.StartMinute, &out.StartMinute + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindow_STATUS. +func (in *MaintenanceWindow_STATUS) DeepCopy() *MaintenanceWindow_STATUS { + if in == nil { + return nil + } + out := new(MaintenanceWindow_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MaintenanceWindow_STATUS_ARM) DeepCopyInto(out *MaintenanceWindow_STATUS_ARM) { + *out = *in + if in.CustomWindow != nil { + in, out := &in.CustomWindow, &out.CustomWindow + *out = new(string) + **out = **in + } + if in.DayOfWeek != nil { + in, out := &in.DayOfWeek, &out.DayOfWeek + *out = new(int) + **out = **in + } + if in.StartHour != nil { + in, out := &in.StartHour, &out.StartHour + *out = new(int) + **out = **in + } + if in.StartMinute != nil { + in, out := &in.StartMinute, &out.StartMinute + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MaintenanceWindow_STATUS_ARM. +func (in *MaintenanceWindow_STATUS_ARM) DeepCopy() *MaintenanceWindow_STATUS_ARM { + if in == nil { + return nil + } + out := new(MaintenanceWindow_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLServerIdentity) DeepCopyInto(out *MySQLServerIdentity) { + *out = *in + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(MySQLServerIdentity_Type) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make([]UserAssignedIdentityDetails, len(*in)) + copy(*out, *in) + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerIdentity. +func (in *MySQLServerIdentity) DeepCopy() *MySQLServerIdentity { + if in == nil { + return nil + } + out := new(MySQLServerIdentity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLServerIdentity_ARM) DeepCopyInto(out *MySQLServerIdentity_ARM) { + *out = *in + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(MySQLServerIdentity_Type) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make(map[string]UserAssignedIdentityDetails_ARM, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerIdentity_ARM. +func (in *MySQLServerIdentity_ARM) DeepCopy() *MySQLServerIdentity_ARM { + if in == nil { + return nil + } + out := new(MySQLServerIdentity_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLServerIdentity_STATUS) DeepCopyInto(out *MySQLServerIdentity_STATUS) { + *out = *in + if in.PrincipalId != nil { + in, out := &in.PrincipalId, &out.PrincipalId + *out = new(string) + **out = **in + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(MySQLServerIdentity_Type_STATUS) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make(map[string]v1.JSON, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerIdentity_STATUS. +func (in *MySQLServerIdentity_STATUS) DeepCopy() *MySQLServerIdentity_STATUS { + if in == nil { + return nil + } + out := new(MySQLServerIdentity_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLServerIdentity_STATUS_ARM) DeepCopyInto(out *MySQLServerIdentity_STATUS_ARM) { + *out = *in + if in.PrincipalId != nil { + in, out := &in.PrincipalId, &out.PrincipalId + *out = new(string) + **out = **in + } + if in.TenantId != nil { + in, out := &in.TenantId, &out.TenantId + *out = new(string) + **out = **in + } + if in.Type != nil { + in, out := &in.Type, &out.Type + *out = new(MySQLServerIdentity_Type_STATUS) + **out = **in + } + if in.UserAssignedIdentities != nil { + in, out := &in.UserAssignedIdentities, &out.UserAssignedIdentities + *out = make(map[string]v1.JSON, len(*in)) + for key, val := range *in { + (*out)[key] = *val.DeepCopy() + } + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerIdentity_STATUS_ARM. +func (in *MySQLServerIdentity_STATUS_ARM) DeepCopy() *MySQLServerIdentity_STATUS_ARM { + if in == nil { + return nil + } + out := new(MySQLServerIdentity_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLServerSku) DeepCopyInto(out *MySQLServerSku) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Tier != nil { + in, out := &in.Tier, &out.Tier + *out = new(MySQLServerSku_Tier) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerSku. +func (in *MySQLServerSku) DeepCopy() *MySQLServerSku { + if in == nil { + return nil + } + out := new(MySQLServerSku) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLServerSku_ARM) DeepCopyInto(out *MySQLServerSku_ARM) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Tier != nil { + in, out := &in.Tier, &out.Tier + *out = new(MySQLServerSku_Tier) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerSku_ARM. +func (in *MySQLServerSku_ARM) DeepCopy() *MySQLServerSku_ARM { + if in == nil { + return nil + } + out := new(MySQLServerSku_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLServerSku_STATUS) DeepCopyInto(out *MySQLServerSku_STATUS) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Tier != nil { + in, out := &in.Tier, &out.Tier + *out = new(MySQLServerSku_Tier_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerSku_STATUS. +func (in *MySQLServerSku_STATUS) DeepCopy() *MySQLServerSku_STATUS { + if in == nil { + return nil + } + out := new(MySQLServerSku_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *MySQLServerSku_STATUS_ARM) DeepCopyInto(out *MySQLServerSku_STATUS_ARM) { + *out = *in + if in.Name != nil { + in, out := &in.Name, &out.Name + *out = new(string) + **out = **in + } + if in.Tier != nil { + in, out := &in.Tier, &out.Tier + *out = new(MySQLServerSku_Tier_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MySQLServerSku_STATUS_ARM. +func (in *MySQLServerSku_STATUS_ARM) DeepCopy() *MySQLServerSku_STATUS_ARM { + if in == nil { + return nil + } + out := new(MySQLServerSku_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Network) DeepCopyInto(out *Network) { + *out = *in + if in.DelegatedSubnetResourceReference != nil { + in, out := &in.DelegatedSubnetResourceReference, &out.DelegatedSubnetResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PrivateDnsZoneResourceReference != nil { + in, out := &in.PrivateDnsZoneResourceReference, &out.PrivateDnsZoneResourceReference + *out = new(genruntime.ResourceReference) + **out = **in + } + if in.PublicNetworkAccess != nil { + in, out := &in.PublicNetworkAccess, &out.PublicNetworkAccess + *out = new(EnableStatusEnum) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network. +func (in *Network) DeepCopy() *Network { + if in == nil { + return nil + } + out := new(Network) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Network_ARM) DeepCopyInto(out *Network_ARM) { + *out = *in + if in.DelegatedSubnetResourceId != nil { + in, out := &in.DelegatedSubnetResourceId, &out.DelegatedSubnetResourceId + *out = new(string) + **out = **in + } + if in.PrivateDnsZoneResourceId != nil { + in, out := &in.PrivateDnsZoneResourceId, &out.PrivateDnsZoneResourceId + *out = new(string) + **out = **in + } + if in.PublicNetworkAccess != nil { + in, out := &in.PublicNetworkAccess, &out.PublicNetworkAccess + *out = new(EnableStatusEnum) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network_ARM. +func (in *Network_ARM) DeepCopy() *Network_ARM { + if in == nil { + return nil + } + out := new(Network_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Network_STATUS) DeepCopyInto(out *Network_STATUS) { + *out = *in + if in.DelegatedSubnetResourceId != nil { + in, out := &in.DelegatedSubnetResourceId, &out.DelegatedSubnetResourceId + *out = new(string) + **out = **in + } + if in.PrivateDnsZoneResourceId != nil { + in, out := &in.PrivateDnsZoneResourceId, &out.PrivateDnsZoneResourceId + *out = new(string) + **out = **in + } + if in.PublicNetworkAccess != nil { + in, out := &in.PublicNetworkAccess, &out.PublicNetworkAccess + *out = new(EnableStatusEnum_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network_STATUS. +func (in *Network_STATUS) DeepCopy() *Network_STATUS { + if in == nil { + return nil + } + out := new(Network_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Network_STATUS_ARM) DeepCopyInto(out *Network_STATUS_ARM) { + *out = *in + if in.DelegatedSubnetResourceId != nil { + in, out := &in.DelegatedSubnetResourceId, &out.DelegatedSubnetResourceId + *out = new(string) + **out = **in + } + if in.PrivateDnsZoneResourceId != nil { + in, out := &in.PrivateDnsZoneResourceId, &out.PrivateDnsZoneResourceId + *out = new(string) + **out = **in + } + if in.PublicNetworkAccess != nil { + in, out := &in.PublicNetworkAccess, &out.PublicNetworkAccess + *out = new(EnableStatusEnum_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Network_STATUS_ARM. +func (in *Network_STATUS_ARM) DeepCopy() *Network_STATUS_ARM { + if in == nil { + return nil + } + out := new(Network_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrivateEndpointConnection_STATUS) DeepCopyInto(out *PrivateEndpointConnection_STATUS) { + *out = *in + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateEndpointConnection_STATUS. +func (in *PrivateEndpointConnection_STATUS) DeepCopy() *PrivateEndpointConnection_STATUS { + if in == nil { + return nil + } + out := new(PrivateEndpointConnection_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *PrivateEndpointConnection_STATUS_ARM) DeepCopyInto(out *PrivateEndpointConnection_STATUS_ARM) { + *out = *in + if in.Id != nil { + in, out := &in.Id, &out.Id + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PrivateEndpointConnection_STATUS_ARM. +func (in *PrivateEndpointConnection_STATUS_ARM) DeepCopy() *PrivateEndpointConnection_STATUS_ARM { + if in == nil { + return nil + } + out := new(PrivateEndpointConnection_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServerProperties_ARM) DeepCopyInto(out *ServerProperties_ARM) { + *out = *in + if in.AdministratorLogin != nil { + in, out := &in.AdministratorLogin, &out.AdministratorLogin + *out = new(string) + **out = **in + } + if in.AdministratorLoginPassword != nil { + in, out := &in.AdministratorLoginPassword, &out.AdministratorLoginPassword + *out = new(string) + **out = **in + } + if in.AvailabilityZone != nil { + in, out := &in.AvailabilityZone, &out.AvailabilityZone + *out = new(string) + **out = **in + } + if in.Backup != nil { + in, out := &in.Backup, &out.Backup + *out = new(Backup_ARM) + (*in).DeepCopyInto(*out) + } + if in.CreateMode != nil { + in, out := &in.CreateMode, &out.CreateMode + *out = new(ServerProperties_CreateMode) + **out = **in + } + if in.DataEncryption != nil { + in, out := &in.DataEncryption, &out.DataEncryption + *out = new(DataEncryption_ARM) + (*in).DeepCopyInto(*out) + } + if in.HighAvailability != nil { + in, out := &in.HighAvailability, &out.HighAvailability + *out = new(HighAvailability_ARM) + (*in).DeepCopyInto(*out) + } + if in.ImportSourceProperties != nil { + in, out := &in.ImportSourceProperties, &out.ImportSourceProperties + *out = new(ImportSourceProperties_ARM) + (*in).DeepCopyInto(*out) + } + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(MaintenanceWindow_ARM) + (*in).DeepCopyInto(*out) + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(Network_ARM) + (*in).DeepCopyInto(*out) + } + if in.ReplicationRole != nil { + in, out := &in.ReplicationRole, &out.ReplicationRole + *out = new(ReplicationRole) + **out = **in + } + if in.RestorePointInTime != nil { + in, out := &in.RestorePointInTime, &out.RestorePointInTime + *out = new(string) + **out = **in + } + if in.SourceServerResourceId != nil { + in, out := &in.SourceServerResourceId, &out.SourceServerResourceId + *out = new(string) + **out = **in + } + if in.Storage != nil { + in, out := &in.Storage, &out.Storage + *out = new(Storage_ARM) + (*in).DeepCopyInto(*out) + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(ServerVersion) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerProperties_ARM. +func (in *ServerProperties_ARM) DeepCopy() *ServerProperties_ARM { + if in == nil { + return nil + } + out := new(ServerProperties_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ServerProperties_STATUS_ARM) DeepCopyInto(out *ServerProperties_STATUS_ARM) { + *out = *in + if in.AdministratorLogin != nil { + in, out := &in.AdministratorLogin, &out.AdministratorLogin + *out = new(string) + **out = **in + } + if in.AvailabilityZone != nil { + in, out := &in.AvailabilityZone, &out.AvailabilityZone + *out = new(string) + **out = **in + } + if in.Backup != nil { + in, out := &in.Backup, &out.Backup + *out = new(Backup_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.CreateMode != nil { + in, out := &in.CreateMode, &out.CreateMode + *out = new(ServerProperties_CreateMode_STATUS) + **out = **in + } + if in.DataEncryption != nil { + in, out := &in.DataEncryption, &out.DataEncryption + *out = new(DataEncryption_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.FullyQualifiedDomainName != nil { + in, out := &in.FullyQualifiedDomainName, &out.FullyQualifiedDomainName + *out = new(string) + **out = **in + } + if in.HighAvailability != nil { + in, out := &in.HighAvailability, &out.HighAvailability + *out = new(HighAvailability_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.ImportSourceProperties != nil { + in, out := &in.ImportSourceProperties, &out.ImportSourceProperties + *out = new(ImportSourceProperties_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.MaintenanceWindow != nil { + in, out := &in.MaintenanceWindow, &out.MaintenanceWindow + *out = new(MaintenanceWindow_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.Network != nil { + in, out := &in.Network, &out.Network + *out = new(Network_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.PrivateEndpointConnections != nil { + in, out := &in.PrivateEndpointConnections, &out.PrivateEndpointConnections + *out = make([]PrivateEndpointConnection_STATUS_ARM, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + if in.ReplicaCapacity != nil { + in, out := &in.ReplicaCapacity, &out.ReplicaCapacity + *out = new(int) + **out = **in + } + if in.ReplicationRole != nil { + in, out := &in.ReplicationRole, &out.ReplicationRole + *out = new(ReplicationRole_STATUS) + **out = **in + } + if in.RestorePointInTime != nil { + in, out := &in.RestorePointInTime, &out.RestorePointInTime + *out = new(string) + **out = **in + } + if in.SourceServerResourceId != nil { + in, out := &in.SourceServerResourceId, &out.SourceServerResourceId + *out = new(string) + **out = **in + } + if in.State != nil { + in, out := &in.State, &out.State + *out = new(ServerProperties_State_STATUS) + **out = **in + } + if in.Storage != nil { + in, out := &in.Storage, &out.Storage + *out = new(Storage_STATUS_ARM) + (*in).DeepCopyInto(*out) + } + if in.Version != nil { + in, out := &in.Version, &out.Version + *out = new(ServerVersion_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServerProperties_STATUS_ARM. +func (in *ServerProperties_STATUS_ARM) DeepCopy() *ServerProperties_STATUS_ARM { + if in == nil { + return nil + } + out := new(ServerProperties_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Storage) DeepCopyInto(out *Storage) { + *out = *in + if in.AutoGrow != nil { + in, out := &in.AutoGrow, &out.AutoGrow + *out = new(EnableStatusEnum) + **out = **in + } + if in.AutoIoScaling != nil { + in, out := &in.AutoIoScaling, &out.AutoIoScaling + *out = new(EnableStatusEnum) + **out = **in + } + if in.Iops != nil { + in, out := &in.Iops, &out.Iops + *out = new(int) + **out = **in + } + if in.LogOnDisk != nil { + in, out := &in.LogOnDisk, &out.LogOnDisk + *out = new(EnableStatusEnum) + **out = **in + } + if in.StorageSizeGB != nil { + in, out := &in.StorageSizeGB, &out.StorageSizeGB + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage. +func (in *Storage) DeepCopy() *Storage { + if in == nil { + return nil + } + out := new(Storage) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Storage_ARM) DeepCopyInto(out *Storage_ARM) { + *out = *in + if in.AutoGrow != nil { + in, out := &in.AutoGrow, &out.AutoGrow + *out = new(EnableStatusEnum) + **out = **in + } + if in.AutoIoScaling != nil { + in, out := &in.AutoIoScaling, &out.AutoIoScaling + *out = new(EnableStatusEnum) + **out = **in + } + if in.Iops != nil { + in, out := &in.Iops, &out.Iops + *out = new(int) + **out = **in + } + if in.LogOnDisk != nil { + in, out := &in.LogOnDisk, &out.LogOnDisk + *out = new(EnableStatusEnum) + **out = **in + } + if in.StorageSizeGB != nil { + in, out := &in.StorageSizeGB, &out.StorageSizeGB + *out = new(int) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage_ARM. +func (in *Storage_ARM) DeepCopy() *Storage_ARM { + if in == nil { + return nil + } + out := new(Storage_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Storage_STATUS) DeepCopyInto(out *Storage_STATUS) { + *out = *in + if in.AutoGrow != nil { + in, out := &in.AutoGrow, &out.AutoGrow + *out = new(EnableStatusEnum_STATUS) + **out = **in + } + if in.AutoIoScaling != nil { + in, out := &in.AutoIoScaling, &out.AutoIoScaling + *out = new(EnableStatusEnum_STATUS) + **out = **in + } + if in.Iops != nil { + in, out := &in.Iops, &out.Iops + *out = new(int) + **out = **in + } + if in.LogOnDisk != nil { + in, out := &in.LogOnDisk, &out.LogOnDisk + *out = new(EnableStatusEnum_STATUS) + **out = **in + } + if in.StorageSizeGB != nil { + in, out := &in.StorageSizeGB, &out.StorageSizeGB + *out = new(int) + **out = **in + } + if in.StorageSku != nil { + in, out := &in.StorageSku, &out.StorageSku + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage_STATUS. +func (in *Storage_STATUS) DeepCopy() *Storage_STATUS { + if in == nil { + return nil + } + out := new(Storage_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *Storage_STATUS_ARM) DeepCopyInto(out *Storage_STATUS_ARM) { + *out = *in + if in.AutoGrow != nil { + in, out := &in.AutoGrow, &out.AutoGrow + *out = new(EnableStatusEnum_STATUS) + **out = **in + } + if in.AutoIoScaling != nil { + in, out := &in.AutoIoScaling, &out.AutoIoScaling + *out = new(EnableStatusEnum_STATUS) + **out = **in + } + if in.Iops != nil { + in, out := &in.Iops, &out.Iops + *out = new(int) + **out = **in + } + if in.LogOnDisk != nil { + in, out := &in.LogOnDisk, &out.LogOnDisk + *out = new(EnableStatusEnum_STATUS) + **out = **in + } + if in.StorageSizeGB != nil { + in, out := &in.StorageSizeGB, &out.StorageSizeGB + *out = new(int) + **out = **in + } + if in.StorageSku != nil { + in, out := &in.StorageSku, &out.StorageSku + *out = new(string) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage_STATUS_ARM. +func (in *Storage_STATUS_ARM) DeepCopy() *Storage_STATUS_ARM { + if in == nil { + return nil + } + out := new(Storage_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SystemData_STATUS) DeepCopyInto(out *SystemData_STATUS) { + *out = *in + if in.CreatedAt != nil { + in, out := &in.CreatedAt, &out.CreatedAt + *out = new(string) + **out = **in + } + if in.CreatedBy != nil { + in, out := &in.CreatedBy, &out.CreatedBy + *out = new(string) + **out = **in + } + if in.CreatedByType != nil { + in, out := &in.CreatedByType, &out.CreatedByType + *out = new(SystemData_CreatedByType_STATUS) + **out = **in + } + if in.LastModifiedAt != nil { + in, out := &in.LastModifiedAt, &out.LastModifiedAt + *out = new(string) + **out = **in + } + if in.LastModifiedBy != nil { + in, out := &in.LastModifiedBy, &out.LastModifiedBy + *out = new(string) + **out = **in + } + if in.LastModifiedByType != nil { + in, out := &in.LastModifiedByType, &out.LastModifiedByType + *out = new(SystemData_LastModifiedByType_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemData_STATUS. +func (in *SystemData_STATUS) DeepCopy() *SystemData_STATUS { + if in == nil { + return nil + } + out := new(SystemData_STATUS) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *SystemData_STATUS_ARM) DeepCopyInto(out *SystemData_STATUS_ARM) { + *out = *in + if in.CreatedAt != nil { + in, out := &in.CreatedAt, &out.CreatedAt + *out = new(string) + **out = **in + } + if in.CreatedBy != nil { + in, out := &in.CreatedBy, &out.CreatedBy + *out = new(string) + **out = **in + } + if in.CreatedByType != nil { + in, out := &in.CreatedByType, &out.CreatedByType + *out = new(SystemData_CreatedByType_STATUS) + **out = **in + } + if in.LastModifiedAt != nil { + in, out := &in.LastModifiedAt, &out.LastModifiedAt + *out = new(string) + **out = **in + } + if in.LastModifiedBy != nil { + in, out := &in.LastModifiedBy, &out.LastModifiedBy + *out = new(string) + **out = **in + } + if in.LastModifiedByType != nil { + in, out := &in.LastModifiedByType, &out.LastModifiedByType + *out = new(SystemData_LastModifiedByType_STATUS) + **out = **in + } +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SystemData_STATUS_ARM. +func (in *SystemData_STATUS_ARM) DeepCopy() *SystemData_STATUS_ARM { + if in == nil { + return nil + } + out := new(SystemData_STATUS_ARM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentityDetails) DeepCopyInto(out *UserAssignedIdentityDetails) { + *out = *in + out.Reference = in.Reference +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentityDetails. +func (in *UserAssignedIdentityDetails) DeepCopy() *UserAssignedIdentityDetails { + if in == nil { + return nil + } + out := new(UserAssignedIdentityDetails) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *UserAssignedIdentityDetails_ARM) DeepCopyInto(out *UserAssignedIdentityDetails_ARM) { + *out = *in +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UserAssignedIdentityDetails_ARM. +func (in *UserAssignedIdentityDetails_ARM) DeepCopy() *UserAssignedIdentityDetails_ARM { + if in == nil { + return nil + } + out := new(UserAssignedIdentityDetails_ARM) + in.DeepCopyInto(out) + return out +} diff --git a/v2/api/dbformysql/versions_matrix.md b/v2/api/dbformysql/versions_matrix.md index 03e99e83fd3..fd64b310abe 100644 --- a/v2/api/dbformysql/versions_matrix.md +++ b/v2/api/dbformysql/versions_matrix.md @@ -1,74 +1,87 @@ -| Type Definitions in package "dbformysql" | v1api20210501 | v1api20220101 | -|-------------------------------------------------------|---------------|---------------| -| APIVersion | v1api20210501 | v1api20220101 | -| AdministratorProperties | | v1api20220101 | -| AdministratorProperties_AdministratorType | | v1api20220101 | -| AdministratorProperties_AdministratorType_STATUS | | v1api20220101 | -| AdministratorProperties_STATUS | | v1api20220101 | -| Backup | v1api20210501 | | -| Backup_STATUS | v1api20210501 | | -| ConfigurationProperties | | v1api20220101 | -| ConfigurationProperties_IsConfigPendingRestart_STATUS | | v1api20220101 | -| ConfigurationProperties_IsDynamicConfig_STATUS | | v1api20220101 | -| ConfigurationProperties_IsReadOnly_STATUS | | v1api20220101 | -| ConfigurationProperties_STATUS | | v1api20220101 | -| ConfigurationProperties_Source | | v1api20220101 | -| ConfigurationProperties_Source_STATUS | | v1api20220101 | -| DataEncryption | v1api20210501 | | -| DataEncryption_STATUS | v1api20210501 | | -| DataEncryption_Type | v1api20210501 | | -| DataEncryption_Type_STATUS | v1api20210501 | | -| DatabaseProperties | v1api20210501 | | -| DatabaseProperties_STATUS | v1api20210501 | | -| EnableStatusEnum | v1api20210501 | | -| EnableStatusEnum_STATUS | v1api20210501 | | -| FirewallRuleProperties | v1api20210501 | | -| FirewallRuleProperties_STATUS | v1api20210501 | | -| FlexibleServer | v1api20210501 | | -| FlexibleServer_STATUS | v1api20210501 | | -| FlexibleServer_Spec | v1api20210501 | | -| FlexibleServersAdministrator | | v1api20220101 | -| FlexibleServersConfiguration | | v1api20220101 | -| FlexibleServersDatabase | v1api20210501 | | -| FlexibleServersFirewallRule | v1api20210501 | | -| FlexibleServers_Administrator_Name_Spec | | v1api20220101 | -| FlexibleServers_Administrator_STATUS | | v1api20220101 | -| FlexibleServers_Administrator_Spec | | v1api20220101 | -| FlexibleServers_Configuration_STATUS | | v1api20220101 | -| FlexibleServers_Configuration_Spec | | v1api20220101 | -| FlexibleServers_Database_STATUS | v1api20210501 | | -| FlexibleServers_Database_Spec | v1api20210501 | | -| FlexibleServers_FirewallRule_STATUS | v1api20210501 | | -| FlexibleServers_FirewallRule_Spec | v1api20210501 | | -| HighAvailability | v1api20210501 | | -| HighAvailability_Mode | v1api20210501 | | -| HighAvailability_Mode_STATUS | v1api20210501 | | -| HighAvailability_STATUS | v1api20210501 | | -| HighAvailability_State_STATUS | v1api20210501 | | -| Identity | v1api20210501 | | -| Identity_STATUS | v1api20210501 | | -| Identity_Type | v1api20210501 | | -| Identity_Type_STATUS | v1api20210501 | | -| MaintenanceWindow | v1api20210501 | | -| MaintenanceWindow_STATUS | v1api20210501 | | -| Network | v1api20210501 | | -| Network_STATUS | v1api20210501 | | -| ReplicationRole | v1api20210501 | | -| ReplicationRole_STATUS | v1api20210501 | | -| ServerProperties | v1api20210501 | | -| ServerProperties_CreateMode | v1api20210501 | | -| ServerProperties_CreateMode_STATUS | v1api20210501 | | -| ServerProperties_STATUS | v1api20210501 | | -| ServerProperties_State_STATUS | v1api20210501 | | -| ServerVersion | v1api20210501 | | -| ServerVersion_STATUS | v1api20210501 | | -| Sku | v1api20210501 | | -| Sku_STATUS | v1api20210501 | | -| Sku_Tier | v1api20210501 | | -| Sku_Tier_STATUS | v1api20210501 | | -| Storage | v1api20210501 | | -| Storage_STATUS | v1api20210501 | | -| SystemData_CreatedByType_STATUS | v1api20210501 | v1api20220101 | -| SystemData_LastModifiedByType_STATUS | v1api20210501 | v1api20220101 | -| SystemData_STATUS | v1api20210501 | v1api20220101 | -| UserAssignedIdentityDetails | v1api20210501 | | +| Type Definitions in package "dbformysql" | v1api20210501 | v1api20220101 | v1api20230630 | +|-------------------------------------------------------|---------------|---------------|---------------| +| APIVersion | v1api20210501 | v1api20220101 | v1api20230630 | +| AdministratorProperties | | v1api20220101 | v1api20230630 | +| AdministratorProperties_AdministratorType | | v1api20220101 | v1api20230630 | +| AdministratorProperties_AdministratorType_STATUS | | v1api20220101 | v1api20230630 | +| AdministratorProperties_STATUS | | v1api20220101 | v1api20230630 | +| Backup | v1api20210501 | | v1api20230630 | +| Backup_STATUS | v1api20210501 | | v1api20230630 | +| ConfigurationProperties | | v1api20220101 | v1api20230630 | +| ConfigurationProperties_IsConfigPendingRestart_STATUS | | v1api20220101 | v1api20230630 | +| ConfigurationProperties_IsDynamicConfig_STATUS | | v1api20220101 | v1api20230630 | +| ConfigurationProperties_IsReadOnly_STATUS | | v1api20220101 | v1api20230630 | +| ConfigurationProperties_STATUS | | v1api20220101 | v1api20230630 | +| ConfigurationProperties_Source | | v1api20220101 | v1api20230630 | +| ConfigurationProperties_Source_STATUS | | v1api20220101 | v1api20230630 | +| DataEncryption | v1api20210501 | | v1api20230630 | +| DataEncryption_STATUS | v1api20210501 | | v1api20230630 | +| DataEncryption_Type | v1api20210501 | | v1api20230630 | +| DataEncryption_Type_STATUS | v1api20210501 | | v1api20230630 | +| DatabaseProperties | v1api20210501 | | v1api20230630 | +| DatabaseProperties_STATUS | v1api20210501 | | v1api20230630 | +| EnableStatusEnum | v1api20210501 | | v1api20230630 | +| EnableStatusEnum_STATUS | v1api20210501 | | v1api20230630 | +| FirewallRuleProperties | v1api20210501 | | v1api20230630 | +| FirewallRuleProperties_STATUS | v1api20210501 | | v1api20230630 | +| FlexibleServer | v1api20210501 | | v1api20230630 | +| FlexibleServer_STATUS | v1api20210501 | | v1api20230630 | +| FlexibleServer_Spec | v1api20210501 | | v1api20230630 | +| FlexibleServersAdministrator | | v1api20220101 | v1api20230630 | +| FlexibleServersConfiguration | | v1api20220101 | v1api20230630 | +| FlexibleServersDatabase | v1api20210501 | | v1api20230630 | +| FlexibleServersFirewallRule | v1api20210501 | | v1api20230630 | +| FlexibleServers_Administrator_Name_Spec | | v1api20220101 | v1api20230630 | +| FlexibleServers_Administrator_STATUS | | v1api20220101 | v1api20230630 | +| FlexibleServers_Administrator_Spec | | v1api20220101 | v1api20230630 | +| FlexibleServers_Configuration_STATUS | | v1api20220101 | v1api20230630 | +| FlexibleServers_Configuration_Spec | | v1api20220101 | v1api20230630 | +| FlexibleServers_Database_STATUS | v1api20210501 | | v1api20230630 | +| FlexibleServers_Database_Spec | v1api20210501 | | v1api20230630 | +| FlexibleServers_FirewallRule_STATUS | v1api20210501 | | v1api20230630 | +| FlexibleServers_FirewallRule_Spec | v1api20210501 | | v1api20230630 | +| HighAvailability | v1api20210501 | | v1api20230630 | +| HighAvailability_Mode | v1api20210501 | | v1api20230630 | +| HighAvailability_Mode_STATUS | v1api20210501 | | v1api20230630 | +| HighAvailability_STATUS | v1api20210501 | | v1api20230630 | +| HighAvailability_State_STATUS | v1api20210501 | | v1api20230630 | +| Identity | v1api20210501 | | | +| Identity_STATUS | v1api20210501 | | | +| Identity_Type | v1api20210501 | | | +| Identity_Type_STATUS | v1api20210501 | | | +| ImportSourceProperties | | | v1api20230630 | +| ImportSourceProperties_STATUS | | | v1api20230630 | +| ImportSourceProperties_StorageType | | | v1api20230630 | +| ImportSourceProperties_StorageType_STATUS | | | v1api20230630 | +| MaintenanceWindow | v1api20210501 | | v1api20230630 | +| MaintenanceWindow_STATUS | v1api20210501 | | v1api20230630 | +| MySQLServerIdentity | | | v1api20230630 | +| MySQLServerIdentity_STATUS | | | v1api20230630 | +| MySQLServerIdentity_Type | | | v1api20230630 | +| MySQLServerIdentity_Type_STATUS | | | v1api20230630 | +| MySQLServerSku | | | v1api20230630 | +| MySQLServerSku_STATUS | | | v1api20230630 | +| MySQLServerSku_Tier | | | v1api20230630 | +| MySQLServerSku_Tier_STATUS | | | v1api20230630 | +| Network | v1api20210501 | | v1api20230630 | +| Network_STATUS | v1api20210501 | | v1api20230630 | +| PrivateEndpointConnection_STATUS | | | v1api20230630 | +| ReplicationRole | v1api20210501 | | v1api20230630 | +| ReplicationRole_STATUS | v1api20210501 | | v1api20230630 | +| ServerProperties | v1api20210501 | | v1api20230630 | +| ServerProperties_CreateMode | v1api20210501 | | v1api20230630 | +| ServerProperties_CreateMode_STATUS | v1api20210501 | | v1api20230630 | +| ServerProperties_STATUS | v1api20210501 | | v1api20230630 | +| ServerProperties_State_STATUS | v1api20210501 | | v1api20230630 | +| ServerVersion | v1api20210501 | | v1api20230630 | +| ServerVersion_STATUS | v1api20210501 | | v1api20230630 | +| Sku | v1api20210501 | | | +| Sku_STATUS | v1api20210501 | | | +| Sku_Tier | v1api20210501 | | | +| Sku_Tier_STATUS | v1api20210501 | | | +| Storage | v1api20210501 | | v1api20230630 | +| Storage_STATUS | v1api20210501 | | v1api20230630 | +| SystemData_CreatedByType_STATUS | v1api20210501 | v1api20220101 | v1api20230630 | +| SystemData_LastModifiedByType_STATUS | v1api20210501 | v1api20220101 | v1api20230630 | +| SystemData_STATUS | v1api20210501 | v1api20220101 | v1api20230630 | +| UserAssignedIdentityDetails | v1api20210501 | | v1api20230630 | diff --git a/v2/azure-arm.yaml b/v2/azure-arm.yaml index 3e3fa8b64a5..1f762d7b1ff 100644 --- a/v2/azure-arm.yaml +++ b/v2/azure-arm.yaml @@ -1726,12 +1726,23 @@ objectModelConfiguration: $supportedFrom: v2.0.0-alpha.2 $azureGeneratedSecrets: - FullyQualifiedDomainName + $generatedConfigs: + FullyQualifiedDomainName: $.Status.FullyQualifiedDomainName + AdministratorLogin: $.Status.AdministratorLogin FlexibleServers_Database: $exportAs: FlexibleServersDatabase $supportedFrom: v2.0.0-alpha.2 FlexibleServers_FirewallRule: $exportAs: FlexibleServersFirewallRule $supportedFrom: v2.0.0-alpha.2 + Identity: + $nameInNextVersion: MySQLServerIdentity + Identity_STATUS: + $nameInNextVersion: MySQLServerIdentity_STATUS + Sku: + $nameInNextVersion: MySQLServerSku + Sku_STATUS: + $nameInNextVersion: MySQLServerSku_STATUS ServerProperties: SourceServerResourceId: $armReference: false # Actually, this *IS* a resource id, but we want to avoid breaking changes so we're fibbing here @@ -1749,6 +1760,47 @@ objectModelConfiguration: FlexibleServers_Configuration: $exportAs: FlexibleServersConfiguration $supportedFrom: v2.1.0 + 2023-06-30: + DataEncryption: + GeoBackupUserAssignedIdentityId: + $armReference: true + PrimaryUserAssignedIdentityId: + $armReference: true + FlexibleServer: + $export: true + $supportedFrom: v2.7.0 + $azureGeneratedSecrets: + - FullyQualifiedDomainName + $generatedConfigs: + FullyQualifiedDomainName: $.Status.FullyQualifiedDomainName + AdministratorLogin: $.Status.AdministratorLogin + FlexibleServers_Administrator: + $exportAs: FlexibleServersAdministrator + $supportedFrom: v2.7.0 + AdministratorProperties: + IdentityResourceId: + $armReference: true # TODO: Upstream to Swagger + Sid: + $importConfigMapMode: optional + TenantId: + $importConfigMapMode: optional + FlexibleServers_Configuration: + $exportAs: FlexibleServersConfiguration + $supportedFrom: v2.7.0 + FlexibleServers_Database: + $exportAs: FlexibleServersDatabase + $supportedFrom: v2.7.0 + FlexibleServers_FirewallRule: + $exportAs: FlexibleServersFirewallRule + $supportedFrom: v2.7.0 + Network: + DelegatedSubnetResourceId: + $armReference: true + PrivateDnsZoneResourceId: + $armReference: true + ServerProperties: + SourceServerResourceId: + $armReference: true # TODO: probably need a conversion hook for this... don't merge without it dbforpostgresql: v1: # Handcrafted User: diff --git a/v2/internal/controllers/controller_resources_gen.go b/v2/internal/controllers/controller_resources_gen.go index fbd816c5454..f6e011b4898 100644 --- a/v2/internal/controllers/controller_resources_gen.go +++ b/v2/internal/controllers/controller_resources_gen.go @@ -78,6 +78,8 @@ import ( dbformysql_v20210501s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501/storage" dbformysql_v20220101 "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20220101" dbformysql_v20220101s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20220101/storage" + dbformysql_v20230630 "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630" + dbformysql_v20230630s "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" dbforpostgresql_customizations "github.com/Azure/azure-service-operator/v2/api/dbforpostgresql/customizations" dbforpostgresql_v20210601 "github.com/Azure/azure-service-operator/v2/api/dbforpostgresql/v1api20210601" dbforpostgresql_v20210601s "github.com/Azure/azure-service-operator/v2/api/dbforpostgresql/v1api20210601/storage" @@ -544,24 +546,26 @@ func getKnownStorageTypes() []*registration.StorageType { }, }) result = append(result, ®istration.StorageType{ - Obj: new(dbformysql_v20210501s.FlexibleServer), + Obj: new(dbformysql_v20230630s.FlexibleServer), Indexes: []registration.Index{ { Key: ".spec.administratorLoginPassword", Func: indexDbformysqlFlexibleServerAdministratorLoginPassword, }, + { + Key: ".spec.importSourceProperties.sasToken", + Func: indexDbformysqlFlexibleServerSasToken, + }, }, Watches: []registration.Watch{ { Type: &v1.Secret{}, - MakeEventHandler: watchSecretsFactory([]string{".spec.administratorLoginPassword"}, &dbformysql_v20210501s.FlexibleServerList{}), + MakeEventHandler: watchSecretsFactory([]string{".spec.administratorLoginPassword", ".spec.importSourceProperties.sasToken"}, &dbformysql_v20230630s.FlexibleServerList{}), }, }, }) - result = append(result, ®istration.StorageType{Obj: new(dbformysql_v20210501s.FlexibleServersDatabase)}) - result = append(result, ®istration.StorageType{Obj: new(dbformysql_v20210501s.FlexibleServersFirewallRule)}) result = append(result, ®istration.StorageType{ - Obj: new(dbformysql_v20220101s.FlexibleServersAdministrator), + Obj: new(dbformysql_v20230630s.FlexibleServersAdministrator), Indexes: []registration.Index{ { Key: ".spec.sidFromConfig", @@ -575,11 +579,13 @@ func getKnownStorageTypes() []*registration.StorageType { Watches: []registration.Watch{ { Type: &v1.ConfigMap{}, - MakeEventHandler: watchConfigMapsFactory([]string{".spec.sidFromConfig", ".spec.tenantIdFromConfig"}, &dbformysql_v20220101s.FlexibleServersAdministratorList{}), + MakeEventHandler: watchConfigMapsFactory([]string{".spec.sidFromConfig", ".spec.tenantIdFromConfig"}, &dbformysql_v20230630s.FlexibleServersAdministratorList{}), }, }, }) - result = append(result, ®istration.StorageType{Obj: new(dbformysql_v20220101s.FlexibleServersConfiguration)}) + result = append(result, ®istration.StorageType{Obj: new(dbformysql_v20230630s.FlexibleServersConfiguration)}) + result = append(result, ®istration.StorageType{Obj: new(dbformysql_v20230630s.FlexibleServersDatabase)}) + result = append(result, ®istration.StorageType{Obj: new(dbformysql_v20230630s.FlexibleServersFirewallRule)}) result = append(result, ®istration.StorageType{ Obj: new(dbforpostgresql_v20221201s.FlexibleServer), Indexes: []registration.Index{ @@ -1321,6 +1327,20 @@ func getKnownTypes() []client.Object { new(dbformysql_v20210501s.FlexibleServersFirewallRule)) result = append(result, new(dbformysql_v20220101.FlexibleServersAdministrator), new(dbformysql_v20220101.FlexibleServersConfiguration)) result = append(result, new(dbformysql_v20220101s.FlexibleServersAdministrator), new(dbformysql_v20220101s.FlexibleServersConfiguration)) + result = append( + result, + new(dbformysql_v20230630.FlexibleServer), + new(dbformysql_v20230630.FlexibleServersAdministrator), + new(dbformysql_v20230630.FlexibleServersConfiguration), + new(dbformysql_v20230630.FlexibleServersDatabase), + new(dbformysql_v20230630.FlexibleServersFirewallRule)) + result = append( + result, + new(dbformysql_v20230630s.FlexibleServer), + new(dbformysql_v20230630s.FlexibleServersAdministrator), + new(dbformysql_v20230630s.FlexibleServersConfiguration), + new(dbformysql_v20230630s.FlexibleServersDatabase), + new(dbformysql_v20230630s.FlexibleServersFirewallRule)) result = append( result, new(dbforpostgresql_v20210601.FlexibleServer), @@ -1818,6 +1838,8 @@ func createScheme() *runtime.Scheme { _ = dbformysql_v20210501s.AddToScheme(scheme) _ = dbformysql_v20220101.AddToScheme(scheme) _ = dbformysql_v20220101s.AddToScheme(scheme) + _ = dbformysql_v20230630.AddToScheme(scheme) + _ = dbformysql_v20230630s.AddToScheme(scheme) _ = dbforpostgresql_v20210601.AddToScheme(scheme) _ = dbforpostgresql_v20210601s.AddToScheme(scheme) _ = dbforpostgresql_v20220120p.AddToScheme(scheme) @@ -2616,9 +2638,9 @@ func indexDbformariadbServerAdministratorLoginPassword(rawObj client.Object) []s return obj.Spec.Properties.Default.AdministratorLoginPassword.Index() } -// indexDbformysqlFlexibleServerAdministratorLoginPassword an index function for dbformysql_v20210501s.FlexibleServer .spec.administratorLoginPassword +// indexDbformysqlFlexibleServerAdministratorLoginPassword an index function for dbformysql_v20230630s.FlexibleServer .spec.administratorLoginPassword func indexDbformysqlFlexibleServerAdministratorLoginPassword(rawObj client.Object) []string { - obj, ok := rawObj.(*dbformysql_v20210501s.FlexibleServer) + obj, ok := rawObj.(*dbformysql_v20230630s.FlexibleServer) if !ok { return nil } @@ -2628,9 +2650,24 @@ func indexDbformysqlFlexibleServerAdministratorLoginPassword(rawObj client.Objec return obj.Spec.AdministratorLoginPassword.Index() } -// indexDbformysqlFlexibleServersAdministratorSidFromConfig an index function for dbformysql_v20220101s.FlexibleServersAdministrator .spec.sidFromConfig +// indexDbformysqlFlexibleServerSasToken an index function for dbformysql_v20230630s.FlexibleServer .spec.importSourceProperties.sasToken +func indexDbformysqlFlexibleServerSasToken(rawObj client.Object) []string { + obj, ok := rawObj.(*dbformysql_v20230630s.FlexibleServer) + if !ok { + return nil + } + if obj.Spec.ImportSourceProperties == nil { + return nil + } + if obj.Spec.ImportSourceProperties.SasToken == nil { + return nil + } + return obj.Spec.ImportSourceProperties.SasToken.Index() +} + +// indexDbformysqlFlexibleServersAdministratorSidFromConfig an index function for dbformysql_v20230630s.FlexibleServersAdministrator .spec.sidFromConfig func indexDbformysqlFlexibleServersAdministratorSidFromConfig(rawObj client.Object) []string { - obj, ok := rawObj.(*dbformysql_v20220101s.FlexibleServersAdministrator) + obj, ok := rawObj.(*dbformysql_v20230630s.FlexibleServersAdministrator) if !ok { return nil } @@ -2640,9 +2677,9 @@ func indexDbformysqlFlexibleServersAdministratorSidFromConfig(rawObj client.Obje return obj.Spec.SidFromConfig.Index() } -// indexDbformysqlFlexibleServersAdministratorTenantIdFromConfig an index function for dbformysql_v20220101s.FlexibleServersAdministrator .spec.tenantIdFromConfig +// indexDbformysqlFlexibleServersAdministratorTenantIdFromConfig an index function for dbformysql_v20230630s.FlexibleServersAdministrator .spec.tenantIdFromConfig func indexDbformysqlFlexibleServersAdministratorTenantIdFromConfig(rawObj client.Object) []string { - obj, ok := rawObj.(*dbformysql_v20220101s.FlexibleServersAdministrator) + obj, ok := rawObj.(*dbformysql_v20230630s.FlexibleServersAdministrator) if !ok { return nil } diff --git a/v2/internal/controllers/crd_dbformysql_flexibleserver_test.go b/v2/internal/controllers/dbformysql_flexibleserver_20210501_test.go similarity index 86% rename from v2/internal/controllers/crd_dbformysql_flexibleserver_test.go rename to v2/internal/controllers/dbformysql_flexibleserver_20210501_test.go index 3e358a72035..ec3dd8ab28a 100644 --- a/v2/internal/controllers/crd_dbformysql_flexibleserver_test.go +++ b/v2/internal/controllers/dbformysql_flexibleserver_20210501_test.go @@ -20,7 +20,7 @@ import ( "github.com/Azure/azure-service-operator/v2/pkg/genruntime" ) -func Test_DBForMySQL_FlexibleServer_CRUD(t *testing.T) { +func Test_DBForMySQL_FlexibleServer_20210501_CRUD(t *testing.T) { t.Parallel() tc := globalTestContext.ForTest(t) @@ -31,7 +31,7 @@ func Test_DBForMySQL_FlexibleServer_CRUD(t *testing.T) { adminPasswordKey := "adminPassword" adminPasswordSecretRef := createPasswordSecret(secretName, adminPasswordKey, tc) - flexibleServer, fqdnSecret := newFlexibleServer(tc, rg, adminPasswordSecretRef) + flexibleServer, fqdnSecret := newFlexibleServer20210501(tc, rg, adminPasswordSecretRef) tc.CreateResourceAndWait(flexibleServer) @@ -58,7 +58,7 @@ func Test_DBForMySQL_FlexibleServer_CRUD(t *testing.T) { testcommon.Subtest{ Name: "MySQL Flexible servers AAD Administrators CRUD", Test: func(tc *testcommon.KubePerTestContext) { - MySQLFlexibleServer_AADAdmin_CRUD(tc, rg, flexibleServer) + MySQLFlexibleServer_AADAdmin_20220101_CRUD(tc, rg, flexibleServer) }, }, ) @@ -67,19 +67,19 @@ func Test_DBForMySQL_FlexibleServer_CRUD(t *testing.T) { testcommon.Subtest{ Name: "MySQL Flexible servers configuration CRUD", Test: func(tc *testcommon.KubePerTestContext) { - MySQLFlexibleServer_Configuration_CRUD(tc, flexibleServer) + MySQLFlexibleServer_Configuration_20220101_CRUD(tc, flexibleServer) }, }, testcommon.Subtest{ Name: "MySQL Flexible servers database CRUD", Test: func(tc *testcommon.KubePerTestContext) { - MySQLFlexibleServer_Database_CRUD(tc, flexibleServer) + MySQLFlexibleServer_Database_20210501_CRUD(tc, flexibleServer) }, }, testcommon.Subtest{ Name: "MySQL Flexible servers firewall CRUD", Test: func(tc *testcommon.KubePerTestContext) { - MySQLFlexibleServer_FirewallRule_CRUD(tc, flexibleServer) + MySQLFlexibleServer_FirewallRule_20210501_CRUD(tc, flexibleServer) }, }, ) @@ -93,7 +93,7 @@ func Test_DBForMySQL_FlexibleServer_CRUD(t *testing.T) { tc.Expect(exists).To(BeFalse()) } -func newFlexibleServer(tc *testcommon.KubePerTestContext, rg *resources.ResourceGroup, adminPasswordSecretRef genruntime.SecretReference) (*mysql.FlexibleServer, string) { +func newFlexibleServer20210501(tc *testcommon.KubePerTestContext, rg *resources.ResourceGroup, adminPasswordSecretRef genruntime.SecretReference) (*mysql.FlexibleServer, string) { version := mysql.ServerVersion_8021 tier := mysql.Sku_Tier_GeneralPurpose fqdnSecret := "fqdnsecret" @@ -123,7 +123,7 @@ func newFlexibleServer(tc *testcommon.KubePerTestContext, rg *resources.Resource return flexibleServer, fqdnSecret } -func MySQLFlexibleServer_Database_CRUD(tc *testcommon.KubePerTestContext, flexibleServer *mysql.FlexibleServer) { +func MySQLFlexibleServer_Database_20210501_CRUD(tc *testcommon.KubePerTestContext, flexibleServer *mysql.FlexibleServer) { // The RP doesn't like databases with hyphens in the name, // although it doesn't give nice errors to point this out database := &mysql.FlexibleServersDatabase{ @@ -139,7 +139,7 @@ func MySQLFlexibleServer_Database_CRUD(tc *testcommon.KubePerTestContext, flexib tc.Expect(database.Status.Id).ToNot(BeNil()) } -func MySQLFlexibleServer_FirewallRule_CRUD(tc *testcommon.KubePerTestContext, flexibleServer *mysql.FlexibleServer) { +func MySQLFlexibleServer_FirewallRule_20210501_CRUD(tc *testcommon.KubePerTestContext, flexibleServer *mysql.FlexibleServer) { rule := &mysql.FlexibleServersFirewallRule{ ObjectMeta: tc.MakeObjectMeta("fwrule"), Spec: mysql.FlexibleServers_FirewallRule_Spec{ @@ -163,7 +163,7 @@ func MySQLFlexibleServer_FirewallRule_CRUD(tc *testcommon.KubePerTestContext, fl // tc.Expect(rule.Status.Id).ToNot(BeNil()) } -func MySQLFlexibleServer_AADAdmin_CRUD(tc *testcommon.KubePerTestContext, rg *resources.ResourceGroup, server *mysql.FlexibleServer) { +func MySQLFlexibleServer_AADAdmin_20220101_CRUD(tc *testcommon.KubePerTestContext, rg *resources.ResourceGroup, server *mysql.FlexibleServer) { // Create a managed identity to serve as aad admin configMapName := "my-configmap" clientIDKey := "clientId" @@ -230,7 +230,7 @@ func MySQLFlexibleServer_AADAdmin_CRUD(tc *testcommon.KubePerTestContext, rg *re tc.Expect(admin.Status.Id).ToNot(BeNil()) } -func MySQLFlexibleServer_Configuration_CRUD(tc *testcommon.KubePerTestContext, flexibleServer *mysql.FlexibleServer) { +func MySQLFlexibleServer_Configuration_20220101_CRUD(tc *testcommon.KubePerTestContext, flexibleServer *mysql.FlexibleServer) { configuration := &mysql20220101.FlexibleServersConfiguration{ ObjectMeta: tc.MakeObjectMetaWithName("maxconnections"), Spec: mysql20220101.FlexibleServers_Configuration_Spec{ diff --git a/v2/internal/controllers/dbformysql_flexibleserver_20230630_test.go b/v2/internal/controllers/dbformysql_flexibleserver_20230630_test.go new file mode 100644 index 00000000000..b3d04bf1a6c --- /dev/null +++ b/v2/internal/controllers/dbformysql_flexibleserver_20230630_test.go @@ -0,0 +1,244 @@ +/* +Copyright (c) Microsoft Corporation. +Licensed under the MIT license. +*/ + +package controllers_test + +import ( + "testing" + + "github.com/kr/pretty" + . "github.com/onsi/gomega" + + mysql "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630" + managedidentity "github.com/Azure/azure-service-operator/v2/api/managedidentity/v1api20181130" + resources "github.com/Azure/azure-service-operator/v2/api/resources/v1api20200601" + "github.com/Azure/azure-service-operator/v2/internal/testcommon" + "github.com/Azure/azure-service-operator/v2/internal/util/to" + "github.com/Azure/azure-service-operator/v2/pkg/genruntime" +) + +func Test_DBForMySQL_FlexibleServer_20230630_CRUD(t *testing.T) { + t.Parallel() + tc := globalTestContext.ForTest(t) + + tc.AzureRegion = to.Ptr("eastus") + + rg := tc.CreateTestResourceGroupAndWait() + secretName := "mysqlsecret" + adminPasswordKey := "adminPassword" + adminPasswordSecretRef := createPasswordSecret(secretName, adminPasswordKey, tc) + + flexibleServer, fqdnSecret := newFlexibleServer20230630(tc, rg, adminPasswordSecretRef) + + tc.CreateResourceAndWait(flexibleServer) + + // It should be created in Kubernetes + tc.Expect(flexibleServer.Status.Id).ToNot(BeNil()) + armId := *flexibleServer.Status.Id + + // It should have the expected secret data written + tc.ExpectSecretHasKeys(fqdnSecret, "fqdn") + + // Perform a simple patch + old := flexibleServer.DeepCopy() + disabled := mysql.EnableStatusEnum_Disabled + flexibleServer.Spec.Backup = &mysql.Backup{ + BackupRetentionDays: to.Ptr(5), + GeoRedundantBackup: &disabled, + } + tc.PatchResourceAndWait(old, flexibleServer) + tc.Expect(flexibleServer.Status.Backup).ToNot(BeNil()) + tc.T.Log(pretty.Sprint(flexibleServer.Status.Backup)) + tc.Expect(flexibleServer.Status.Backup.BackupRetentionDays).To(Equal(to.Ptr(5))) + + tc.RunSubtests( + testcommon.Subtest{ + Name: "MySQL Flexible servers AAD Administrators CRUD", + Test: func(tc *testcommon.KubePerTestContext) { + MySQLFlexibleServer_AADAdmin_20230630_CRUD(tc, rg, flexibleServer) + }, + }, + ) + + tc.RunParallelSubtests( + testcommon.Subtest{ + Name: "MySQL Flexible servers configuration CRUD", + Test: func(tc *testcommon.KubePerTestContext) { + MySQLFlexibleServer_Configuration_20230630_CRUD(tc, flexibleServer) + }, + }, + testcommon.Subtest{ + Name: "MySQL Flexible servers database CRUD", + Test: func(tc *testcommon.KubePerTestContext) { + MySQLFlexibleServer_Database_20230630_CRUD(tc, flexibleServer) + }, + }, + testcommon.Subtest{ + Name: "MySQL Flexible servers firewall CRUD", + Test: func(tc *testcommon.KubePerTestContext) { + MySQLFlexibleServer_FirewallRule_20230630_CRUD(tc, flexibleServer) + }, + }, + ) + + tc.DeleteResourceAndWait(flexibleServer) + + // Ensure that the resource was really deleted in Azure + exists, retryAfter, err := tc.AzureClient.CheckExistenceWithGetByID(tc.Ctx, armId, string(mysql.APIVersion_Value)) + tc.Expect(err).ToNot(HaveOccurred()) + tc.Expect(retryAfter).To(BeZero()) + tc.Expect(exists).To(BeFalse()) +} + +func newFlexibleServer20230630(tc *testcommon.KubePerTestContext, rg *resources.ResourceGroup, adminPasswordSecretRef genruntime.SecretReference) (*mysql.FlexibleServer, string) { + version := mysql.ServerVersion_8021 + tier := mysql.MySQLServerSku_Tier_GeneralPurpose + fqdnSecret := "fqdnsecret" + flexibleServer := &mysql.FlexibleServer{ + ObjectMeta: tc.MakeObjectMeta("mysql"), + Spec: mysql.FlexibleServer_Spec{ + Location: tc.AzureRegion, + Owner: testcommon.AsOwner(rg), + Version: &version, + Sku: &mysql.MySQLServerSku{ + Name: to.Ptr("Standard_D4ds_v4"), + Tier: &tier, + }, + AdministratorLogin: to.Ptr("myadmin"), + AdministratorLoginPassword: &adminPasswordSecretRef, + Storage: &mysql.Storage{ + StorageSizeGB: to.Ptr(128), + }, + OperatorSpec: &mysql.FlexibleServerOperatorSpec{ + Secrets: &mysql.FlexibleServerOperatorSecrets{ + FullyQualifiedDomainName: &genruntime.SecretDestination{Name: fqdnSecret, Key: "fqdn"}, + }, + }, + }, + } + + return flexibleServer, fqdnSecret +} + +func MySQLFlexibleServer_Database_20230630_CRUD(tc *testcommon.KubePerTestContext, flexibleServer *mysql.FlexibleServer) { + // The RP doesn't like databases with hyphens in the name, + // although it doesn't give nice errors to point this out + database := &mysql.FlexibleServersDatabase{ + ObjectMeta: tc.MakeObjectMetaWithName(tc.NoSpaceNamer.GenerateName("db")), + Spec: mysql.FlexibleServers_Database_Spec{ + Owner: testcommon.AsOwner(flexibleServer), + Charset: to.Ptr("utf8mb4"), + }, + } + tc.CreateResourceAndWait(database) + defer tc.DeleteResourceAndWait(database) + + tc.Expect(database.Status.Id).ToNot(BeNil()) +} + +func MySQLFlexibleServer_FirewallRule_20230630_CRUD(tc *testcommon.KubePerTestContext, flexibleServer *mysql.FlexibleServer) { + rule := &mysql.FlexibleServersFirewallRule{ + ObjectMeta: tc.MakeObjectMeta("fwrule"), + Spec: mysql.FlexibleServers_FirewallRule_Spec{ + Owner: testcommon.AsOwner(flexibleServer), + StartIpAddress: to.Ptr("1.2.3.4"), + EndIpAddress: to.Ptr("1.2.3.4"), + }, + } + + tc.CreateResourceAndWait(rule) + defer tc.DeleteResourceAndWait(rule) + + old := rule.DeepCopy() + rule.Spec.EndIpAddress = to.Ptr("1.2.3.5") + tc.PatchResourceAndWait(old, rule) + tc.Expect(rule.Status.EndIpAddress).To(Equal(to.Ptr("1.2.3.5"))) + + // The GET responses are coming back from the RP with no ARM ID - + // this seems invalid per the ARM spec. + // https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md#get-resource + // tc.Expect(rule.Status.Id).ToNot(BeNil()) +} + +func MySQLFlexibleServer_AADAdmin_20230630_CRUD(tc *testcommon.KubePerTestContext, rg *resources.ResourceGroup, server *mysql.FlexibleServer) { + // Create a managed identity to serve as aad admin + configMapName := "my-configmap" + clientIDKey := "clientId" + tenantIDKey := "tenantId" + + // Create a managed identity to use as the AAD administrator + mi := &managedidentity.UserAssignedIdentity{ + ObjectMeta: tc.MakeObjectMeta("mi"), + Spec: managedidentity.UserAssignedIdentity_Spec{ + Location: tc.AzureRegion, + Owner: testcommon.AsOwner(rg), + OperatorSpec: &managedidentity.UserAssignedIdentityOperatorSpec{ + ConfigMaps: &managedidentity.UserAssignedIdentityOperatorConfigMaps{ + ClientId: &genruntime.ConfigMapDestination{ + Name: configMapName, + Key: clientIDKey, + }, + TenantId: &genruntime.ConfigMapDestination{ + Name: configMapName, + Key: tenantIDKey, + }, + }, + }, + }, + } + + tc.CreateResourceAndWait(mi) + + // Update the server to use the managed identity as its UMI + old := server.DeepCopy() + server.Spec.Identity = &mysql.MySQLServerIdentity{ + Type: to.Ptr(mysql.MySQLServerIdentity_Type_UserAssigned), + UserAssignedIdentities: []mysql.UserAssignedIdentityDetails{ + { + Reference: *tc.MakeReferenceFromResource(mi), + }, + }, + } + + tc.PatchResourceAndWait(old, server) + + aadAdmin := mysql.AdministratorProperties_AdministratorType_ActiveDirectory + admin := &mysql.FlexibleServersAdministrator{ + ObjectMeta: tc.MakeObjectMeta("aadadmin"), + Spec: mysql.FlexibleServers_Administrator_Spec{ + Owner: testcommon.AsOwner(server), + AdministratorType: &aadAdmin, + Login: &mi.Name, + TenantIdFromConfig: &genruntime.ConfigMapReference{ + Name: configMapName, + Key: tenantIDKey, + }, + SidFromConfig: &genruntime.ConfigMapReference{ + Name: configMapName, + Key: clientIDKey, + }, + IdentityResourceReference: tc.MakeReferenceFromResource(mi), + }, + } + + tc.CreateResourceAndWait(admin) + defer tc.DeleteResourceAndWait(admin) + + tc.Expect(admin.Status.Id).ToNot(BeNil()) +} + +func MySQLFlexibleServer_Configuration_20230630_CRUD(tc *testcommon.KubePerTestContext, flexibleServer *mysql.FlexibleServer) { + configuration := &mysql.FlexibleServersConfiguration{ + ObjectMeta: tc.MakeObjectMetaWithName("maxconnections"), + Spec: mysql.FlexibleServers_Configuration_Spec{ + AzureName: "max_connections", + Owner: testcommon.AsOwner(flexibleServer), + Source: to.Ptr(mysql.ConfigurationProperties_Source_UserOverride), + Value: to.Ptr("20"), + }, + } + tc.CreateResourceAndWait(configuration) + tc.Expect(configuration.Status.Id).ToNot(BeNil()) +} diff --git a/v2/internal/controllers/recordings/Test_DBForMySQL_FlexibleServer_20210501_CRUD.yaml b/v2/internal/controllers/recordings/Test_DBForMySQL_FlexibleServer_20210501_CRUD.yaml new file mode 100644 index 00000000000..30250327ce9 --- /dev/null +++ b/v2/internal/controllers/recordings/Test_DBForMySQL_FlexibleServer_20210501_CRUD.yaml @@ -0,0 +1,4109 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 92 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"asotest-rg-cdficv","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "92" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - d36405e5822031b7e596132621670e0894da38bd2c76bd667237d8e9a3736d38 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv?api-version=2020-06-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 275 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv","name":"asotest-rg-cdficv","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "275" + Content-Type: + - application/json; charset=utf-8 + 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: 77CC5A07120C46B59856AC82F6AEB8B2 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:41:18Z' + status: 201 Created + code: 201 + duration: 889.958734ms + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv?api-version=2020-06-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 275 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv","name":"asotest-rg-cdficv","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "275" + Content-Type: + - application/json; charset=utf-8 + 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: A6721EB2B7C54713B4D5C16322A17F3E Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:41:19Z' + status: 200 OK + code: 200 + duration: 77.637378ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 286 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"asotest-mysql-ghhjvf","properties":{"administratorLogin":"myadmin","administratorLoginPassword":"{PASSWORD}","storage":{"storageSizeGB":128},"version":"8.0.21"},"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "286" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 3a1e40371caab2f7fb1806cd6319004cec72f89a998494c8cc9dc7a32f97c7db + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf?api-version=2021-05-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 88 + uncompressed: false + body: '{"operation":"UpsertServerManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/1d8a16a6-5840-4144-861c-d239f5a52b0b?api-version=2021-05-01&t=638477628869615721&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=d48DCw462ccgw_8SS44LIMSPKYK--NtWVeYwytPsoXutesDz1UHYs_XqsRi274KjTfQFjTfh1K317Cd6Fnh5zp9tEOfupu2VVND08PkUlk8CjJ3UzU-gLDLvBzaiVyGlR5CpAmVi8UjX1o91QdBhsoNw_Gki3oAxgBPqpHcTmU9FdLcCdQtUkqtQUKM3hNc7PI6z4sOOj8kd09DtobJQv6isg5Jh7km9QF_h4XZMBR9dlNd6djJTCCoO9NcbRqty0WTsEeqoKdPx-eqJumAHfIkLfh7Gov82AL3xtDFUrTPoG0rQyphfcAlIGvNHXxIMqVfwsrbWznpVsUqZK-iqsg&h=Mr0nXjD7gsqHCdE10uOpVSDmTvQESub1P63-5MFPSsQ + Cache-Control: + - no-cache + Content-Length: + - "88" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/1d8a16a6-5840-4144-861c-d239f5a52b0b?api-version=2021-05-01&t=638477628869772027&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=LME0vkUhErRkfiXW8vjqGztqfmKvDawgjFd-2aMcXO-heZ1REIer_BK4TRFXjpansPhhFOOCuXYNilG_aPsedv5MtJvf9OcHHx51BaRDj9fAmKvd73UlriYb9oIWLPqL_SkKp_YjO2dO75N2QgNgl_RbACcNGIlTGcFVFD5oZ97TU23ze4ThD_t_odc48GJ5ZedC9JRRqegFUmJGOCVOLp3KmAf78mqKNOcNq0qOAGdJ-OGBriM455PQmZRLk9jnQ_qYwXLLECpv1wJKicHGtOPjOo5JFSbvv8s0ZX1Pw3f6pG1v45dbnOoc_fU22_wBGeuUsdWk5foFaAXj87PPQQ&h=mgWNjGPEqKDx5SJLvtizBNXvD-C0nK7eCTs4KpXphnA + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: DD17ABAB8AB5433EABB2C705FC09BACC Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:41:25Z' + status: 202 Accepted + code: 202 + duration: 1.238986934s + - id: 3 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/1d8a16a6-5840-4144-861c-d239f5a52b0b?api-version=2021-05-01&t=638477628869615721&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=d48DCw462ccgw_8SS44LIMSPKYK--NtWVeYwytPsoXutesDz1UHYs_XqsRi274KjTfQFjTfh1K317Cd6Fnh5zp9tEOfupu2VVND08PkUlk8CjJ3UzU-gLDLvBzaiVyGlR5CpAmVi8UjX1o91QdBhsoNw_Gki3oAxgBPqpHcTmU9FdLcCdQtUkqtQUKM3hNc7PI6z4sOOj8kd09DtobJQv6isg5Jh7km9QF_h4XZMBR9dlNd6djJTCCoO9NcbRqty0WTsEeqoKdPx-eqJumAHfIkLfh7Gov82AL3xtDFUrTPoG0rQyphfcAlIGvNHXxIMqVfwsrbWznpVsUqZK-iqsg&h=Mr0nXjD7gsqHCdE10uOpVSDmTvQESub1P63-5MFPSsQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"1d8a16a6-5840-4144-861c-d239f5a52b0b","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 573A1E1C18944C74BB053FEF9C82C47A Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:41:30Z' + status: 200 OK + code: 200 + duration: 302.775193ms + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/1d8a16a6-5840-4144-861c-d239f5a52b0b?api-version=2021-05-01&t=638477628869615721&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=d48DCw462ccgw_8SS44LIMSPKYK--NtWVeYwytPsoXutesDz1UHYs_XqsRi274KjTfQFjTfh1K317Cd6Fnh5zp9tEOfupu2VVND08PkUlk8CjJ3UzU-gLDLvBzaiVyGlR5CpAmVi8UjX1o91QdBhsoNw_Gki3oAxgBPqpHcTmU9FdLcCdQtUkqtQUKM3hNc7PI6z4sOOj8kd09DtobJQv6isg5Jh7km9QF_h4XZMBR9dlNd6djJTCCoO9NcbRqty0WTsEeqoKdPx-eqJumAHfIkLfh7Gov82AL3xtDFUrTPoG0rQyphfcAlIGvNHXxIMqVfwsrbWznpVsUqZK-iqsg&h=Mr0nXjD7gsqHCdE10uOpVSDmTvQESub1P63-5MFPSsQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"1d8a16a6-5840-4144-861c-d239f5a52b0b","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 816E7E8A763147BFADC206F90D3DDE04 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:42:30Z' + status: 200 OK + code: 200 + duration: 301.519494ms + - id: 5 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/1d8a16a6-5840-4144-861c-d239f5a52b0b?api-version=2021-05-01&t=638477628869615721&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=d48DCw462ccgw_8SS44LIMSPKYK--NtWVeYwytPsoXutesDz1UHYs_XqsRi274KjTfQFjTfh1K317Cd6Fnh5zp9tEOfupu2VVND08PkUlk8CjJ3UzU-gLDLvBzaiVyGlR5CpAmVi8UjX1o91QdBhsoNw_Gki3oAxgBPqpHcTmU9FdLcCdQtUkqtQUKM3hNc7PI6z4sOOj8kd09DtobJQv6isg5Jh7km9QF_h4XZMBR9dlNd6djJTCCoO9NcbRqty0WTsEeqoKdPx-eqJumAHfIkLfh7Gov82AL3xtDFUrTPoG0rQyphfcAlIGvNHXxIMqVfwsrbWznpVsUqZK-iqsg&h=Mr0nXjD7gsqHCdE10uOpVSDmTvQESub1P63-5MFPSsQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"1d8a16a6-5840-4144-861c-d239f5a52b0b","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 83061E4FE3B842D0A1874C7D2052FAFE Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:43:31Z' + status: 200 OK + code: 200 + duration: 381.367882ms + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/1d8a16a6-5840-4144-861c-d239f5a52b0b?api-version=2021-05-01&t=638477628869615721&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=d48DCw462ccgw_8SS44LIMSPKYK--NtWVeYwytPsoXutesDz1UHYs_XqsRi274KjTfQFjTfh1K317Cd6Fnh5zp9tEOfupu2VVND08PkUlk8CjJ3UzU-gLDLvBzaiVyGlR5CpAmVi8UjX1o91QdBhsoNw_Gki3oAxgBPqpHcTmU9FdLcCdQtUkqtQUKM3hNc7PI6z4sOOj8kd09DtobJQv6isg5Jh7km9QF_h4XZMBR9dlNd6djJTCCoO9NcbRqty0WTsEeqoKdPx-eqJumAHfIkLfh7Gov82AL3xtDFUrTPoG0rQyphfcAlIGvNHXxIMqVfwsrbWznpVsUqZK-iqsg&h=Mr0nXjD7gsqHCdE10uOpVSDmTvQESub1P63-5MFPSsQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"1d8a16a6-5840-4144-861c-d239f5a52b0b","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 90754FD358FE4355B7FDB9B0DF9C66D6 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:44:32Z' + status: 200 OK + code: 200 + duration: 1.127285918s + - id: 7 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/1d8a16a6-5840-4144-861c-d239f5a52b0b?api-version=2021-05-01&t=638477628869615721&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=d48DCw462ccgw_8SS44LIMSPKYK--NtWVeYwytPsoXutesDz1UHYs_XqsRi274KjTfQFjTfh1K317Cd6Fnh5zp9tEOfupu2VVND08PkUlk8CjJ3UzU-gLDLvBzaiVyGlR5CpAmVi8UjX1o91QdBhsoNw_Gki3oAxgBPqpHcTmU9FdLcCdQtUkqtQUKM3hNc7PI6z4sOOj8kd09DtobJQv6isg5Jh7km9QF_h4XZMBR9dlNd6djJTCCoO9NcbRqty0WTsEeqoKdPx-eqJumAHfIkLfh7Gov82AL3xtDFUrTPoG0rQyphfcAlIGvNHXxIMqVfwsrbWznpVsUqZK-iqsg&h=Mr0nXjD7gsqHCdE10uOpVSDmTvQESub1P63-5MFPSsQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"1d8a16a6-5840-4144-861c-d239f5a52b0b","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 9E532F4A9B86426D9C9FE9AE3829F429 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:45:34Z' + status: 200 OK + code: 200 + duration: 360.470743ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1040 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-ghhjvf.mysql.database.azure.com","availabilityZone":"3","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":7,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T17:51:31.6945789+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf","name":"asotest-mysql-ghhjvf","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1040" + Content-Type: + - application/json; charset=utf-8 + 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: FF305ED003D4479FACE595FEE8C6F0BC Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:45:35Z' + status: 200 OK + code: 200 + duration: 397.496931ms + - id: 9 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1040 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-ghhjvf.mysql.database.azure.com","availabilityZone":"3","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":7,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T17:51:31.6945789+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf","name":"asotest-mysql-ghhjvf","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1040" + Content-Type: + - application/json; charset=utf-8 + 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: 249D03EDA05145889721B2118FE7888D Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:45:36Z' + status: 200 OK + code: 200 + duration: 563.068205ms + - id: 10 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 353 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"asotest-mysql-ghhjvf","properties":{"administratorLogin":"myadmin","administratorLoginPassword":"{PASSWORD}","backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled"},"storage":{"storageSizeGB":128},"version":"8.0.21"},"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "353" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 5a828f795f6f252c20291cd7093b7ae88c5088eceee385452c520828fcadc9ed + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf?api-version=2021-05-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 88 + uncompressed: false + body: '{"operation":"UpsertServerManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/88d64ca0-735b-4bff-a90c-d5cbab2d9cf0?api-version=2021-05-01&t=638477631408090824&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=FNJkXMiuRwk6BwJzvMrYNPPMydKQ89N8Mwkpobwmc2leWLHsqCuPsWW81Y84ze27ZiAioA3l-O22H-Ul-Z3f8PO01wR_O9kfdq8KZJT75TGOqykLeB6n-VDebcPed9P6s0PGfjYnspmJJc1THtnRl1IchbmEOzFWbNHnDFVB3-8MUuo0htSsvKknKUiVuGHLl1D5VZrDn8yqGabFPFLDhVdqlGm3i0uWl3JTwwMMFOMNY9F4LuGE8RNzcjiivXV3NxtTgkzzf0ShWSpbX8pFzNNW9jGhfJMScKYGxs87sk3vyvLyp7tBoG90VFl0UZBJU8EjRMYh_qoPf_NFUGjuGg&h=YW20e3yxYHCdhFM63uOPuGslvdygIgE6TsQk5ZntJDc + Cache-Control: + - no-cache + Content-Length: + - "88" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/88d64ca0-735b-4bff-a90c-d5cbab2d9cf0?api-version=2021-05-01&t=638477631408090824&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=gUlWDk-zO9uq8ststIilh0xeRBPGBHnbcu4TB6Coni6z68dyWhZs5eIv5oZBEAyM0X0tIkNO_lJNMIY4FuvRhXmQiwZ3lN70Jtwhk6ytiWRfnyCOrx5aHofdYVGP8KUCvuelBxYfl7ilsI3VJihrCQs1V06hWtvkqX4KDV1oZUolfzxSRQl5XGMtTG0Y_I-AdG9oLxVJqAC_Bbi5Y3zONkXarsWG_FfxQaA6R577R3KuSsYAh4tPFhHmI_YfGY4DKQ_xFNetn0MsMxcAj9pZrsBexdZfwsN7LjwLE8EPda9sZ_enNU4isDp9sV7d6IXx91ApuJP8jOBo-IZS_iuURw&h=CRQNWYyCrdDa8GZ0T2EysTD5lgumyE_uIJkCxzr2Lv4 + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 93A2B262477D4FC09342F9E05BC333CA Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:45:40Z' + status: 202 Accepted + code: 202 + duration: 748.010716ms + - id: 11 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/88d64ca0-735b-4bff-a90c-d5cbab2d9cf0?api-version=2021-05-01&t=638477631408090824&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=FNJkXMiuRwk6BwJzvMrYNPPMydKQ89N8Mwkpobwmc2leWLHsqCuPsWW81Y84ze27ZiAioA3l-O22H-Ul-Z3f8PO01wR_O9kfdq8KZJT75TGOqykLeB6n-VDebcPed9P6s0PGfjYnspmJJc1THtnRl1IchbmEOzFWbNHnDFVB3-8MUuo0htSsvKknKUiVuGHLl1D5VZrDn8yqGabFPFLDhVdqlGm3i0uWl3JTwwMMFOMNY9F4LuGE8RNzcjiivXV3NxtTgkzzf0ShWSpbX8pFzNNW9jGhfJMScKYGxs87sk3vyvLyp7tBoG90VFl0UZBJU8EjRMYh_qoPf_NFUGjuGg&h=YW20e3yxYHCdhFM63uOPuGslvdygIgE6TsQk5ZntJDc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"88d64ca0-735b-4bff-a90c-d5cbab2d9cf0","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 179B7399A66E495CA88916755559F14A Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:45:42Z' + status: 200 OK + code: 200 + duration: 315.95378ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/88d64ca0-735b-4bff-a90c-d5cbab2d9cf0?api-version=2021-05-01&t=638477631408090824&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=FNJkXMiuRwk6BwJzvMrYNPPMydKQ89N8Mwkpobwmc2leWLHsqCuPsWW81Y84ze27ZiAioA3l-O22H-Ul-Z3f8PO01wR_O9kfdq8KZJT75TGOqykLeB6n-VDebcPed9P6s0PGfjYnspmJJc1THtnRl1IchbmEOzFWbNHnDFVB3-8MUuo0htSsvKknKUiVuGHLl1D5VZrDn8yqGabFPFLDhVdqlGm3i0uWl3JTwwMMFOMNY9F4LuGE8RNzcjiivXV3NxtTgkzzf0ShWSpbX8pFzNNW9jGhfJMScKYGxs87sk3vyvLyp7tBoG90VFl0UZBJU8EjRMYh_qoPf_NFUGjuGg&h=YW20e3yxYHCdhFM63uOPuGslvdygIgE6TsQk5ZntJDc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"88d64ca0-735b-4bff-a90c-d5cbab2d9cf0","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 3241B78D206F4DA4BDBD51F98E8B6238 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:46:43Z' + status: 200 OK + code: 200 + duration: 167.918693ms + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1040 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-ghhjvf.mysql.database.azure.com","availabilityZone":"3","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T17:51:31.6945789+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf","name":"asotest-mysql-ghhjvf","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1040" + Content-Type: + - application/json; charset=utf-8 + 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: 2B306511C80145AA93C9F40BAFA95471 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:46:43Z' + status: 200 OK + code: 200 + duration: 384.947602ms + - id: 14 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1040 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-ghhjvf.mysql.database.azure.com","availabilityZone":"3","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T17:51:31.6945789+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf","name":"asotest-mysql-ghhjvf","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1040" + Content-Type: + - application/json; charset=utf-8 + 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: 5D98674800F847C7A60D364797ED4DD0 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:46:44Z' + status: 200 OK + code: 200 + duration: 629.449432ms + - id: 15 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 48 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"asotest-mi-mlpeas"}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "48" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - e15efd723f99b9f4b69ecb23b2b7fe86ec9842dc0a33dc07adf17f0ed42b4096 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-mlpeas?api-version=2018-11-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 453 + uncompressed: false + body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cdficv/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-mlpeas","name":"asotest-mi-mlpeas","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"3a403200-2fa6-4bcf-9f7e-1b203762b294","clientId":"37dab25d-a26d-471d-8e4a-2ce77a7a8f6d"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "453" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cdficv/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-mlpeas + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 8475ED8FCA544A5CAD550FACCD85E7B4 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:46:51Z' + status: 201 Created + code: 201 + duration: 1.929000804s + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 48 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"asotest-mi-mlpeas"}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "48" + Content-Type: + - application/json + Test-Request-Attempt: + - "1" + Test-Request-Hash: + - e15efd723f99b9f4b69ecb23b2b7fe86ec9842dc0a33dc07adf17f0ed42b4096 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-mlpeas?api-version=2018-11-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 453 + uncompressed: false + body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cdficv/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-mlpeas","name":"asotest-mi-mlpeas","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"3a403200-2fa6-4bcf-9f7e-1b203762b294","clientId":"37dab25d-a26d-471d-8e4a-2ce77a7a8f6d"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "453" + Content-Type: + - application/json; charset=utf-8 + 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: 71F0686A6CC44419BB6290319714F98E Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:46:56Z' + status: 200 OK + code: 200 + duration: 321.971163ms + - id: 17 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-mlpeas?api-version=2018-11-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 453 + uncompressed: false + body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cdficv/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-mlpeas","name":"asotest-mi-mlpeas","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"3a403200-2fa6-4bcf-9f7e-1b203762b294","clientId":"37dab25d-a26d-471d-8e4a-2ce77a7a8f6d"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "453" + Content-Type: + - application/json; charset=utf-8 + 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: ED8FDA1CE9DA449DBBA51045E3CEAAE5 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:46:56Z' + status: 200 OK + code: 200 + duration: 175.661615ms + - id: 18 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 582 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-mlpeas":{}}},"location":"eastus","name":"asotest-mysql-ghhjvf","properties":{"administratorLogin":"myadmin","administratorLoginPassword":"{PASSWORD}","backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled"},"storage":{"storageSizeGB":128},"version":"8.0.21"},"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "582" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 2fac6fc5809e3bf35f1871c3d4c3f1ef9c3a414aa45ab6abeb68597d313fbf41 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf?api-version=2021-05-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 88 + uncompressed: false + body: '{"operation":"UpsertServerManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/5864f65c-efb7-4ca1-a249-420747013916?api-version=2021-05-01&t=638477632218459184&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=i1Tr4GSvO1qxKH3sciIoYUnn1CGV77DlBNEyYxfgCpsFEGtAx63Q9RYMDLYueoBu2ZRyg2ZUF9nwojMIVXc1cgl1jDzyaIymfEr4VxiKRZy4MIMdX9xF4wJLZhBycc9kIbj6TAJgrqj016aZe1ktd0sXQyT6pDRgT_FpJPqdUKw-IdKzBU5KYLmcyOdcLVmO-ctWQAIzobMAe8nNx6t_cqqzJeDMG3DuXUXa1iqdZxrAm9g_ZyrYLHWxiEH5YmOZ2ryLAGFs-2XVSjRctLnVkwbbJVslsUoCEUcCDuykzjlCGbrcps_b_CNqsBUPFnDelD0mb5HuTwXD62Wmd8ZMuQ&h=leqg44B9PjRIegF7Lbfq98VoGh4eWhAUy38-3OmRr8c + Cache-Control: + - no-cache + Content-Length: + - "88" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/5864f65c-efb7-4ca1-a249-420747013916?api-version=2021-05-01&t=638477632218615474&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=qK2tt0y9NZMCSD_XdklGOGJWuJpOUZ5W1weuqvf9lFF8LkzeuO9YXV7Suo_MB5xI4VzuwqdM4v4trXi23T9ZBBFQGHeCaG-FoRzA5IHdRoxqYBnCOokLNWTRZ-HB5ui4gsOGoHtRuwB80WDQL5SfCtVsfEhIuqvUy6zbi2zHJ4Sufa3HiOqm3Xtqeckr23NStRQH8hE2bZytDfrgQar558jX-oBSyv8k9nBRipPg241WQqxjZ-OHddqsH1FKhMAal7oF6tzrw_DZd5A1hAsEOggYHdvh4Xi7BNVGhAAzCnuMSnde9q0GxgK_m48TktBOHB4vu3bOSe4D-VjvkvLV1g&h=TDeO2vgGteAGL-g3MTwHU6vTASS8x1dxTKmo3xbY_Js + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 43C6EAEF86454343BF7A63D20253675F Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:47:00Z' + status: 202 Accepted + code: 202 + duration: 1.619165609s + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/5864f65c-efb7-4ca1-a249-420747013916?api-version=2021-05-01&t=638477632218459184&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=i1Tr4GSvO1qxKH3sciIoYUnn1CGV77DlBNEyYxfgCpsFEGtAx63Q9RYMDLYueoBu2ZRyg2ZUF9nwojMIVXc1cgl1jDzyaIymfEr4VxiKRZy4MIMdX9xF4wJLZhBycc9kIbj6TAJgrqj016aZe1ktd0sXQyT6pDRgT_FpJPqdUKw-IdKzBU5KYLmcyOdcLVmO-ctWQAIzobMAe8nNx6t_cqqzJeDMG3DuXUXa1iqdZxrAm9g_ZyrYLHWxiEH5YmOZ2ryLAGFs-2XVSjRctLnVkwbbJVslsUoCEUcCDuykzjlCGbrcps_b_CNqsBUPFnDelD0mb5HuTwXD62Wmd8ZMuQ&h=leqg44B9PjRIegF7Lbfq98VoGh4eWhAUy38-3OmRr8c + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"5864f65c-efb7-4ca1-a249-420747013916","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: FCFC614793C0466F97177FD0C229ADBA Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:47:04Z' + status: 200 OK + code: 200 + duration: 182.741021ms + - id: 20 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/5864f65c-efb7-4ca1-a249-420747013916?api-version=2021-05-01&t=638477632218459184&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=i1Tr4GSvO1qxKH3sciIoYUnn1CGV77DlBNEyYxfgCpsFEGtAx63Q9RYMDLYueoBu2ZRyg2ZUF9nwojMIVXc1cgl1jDzyaIymfEr4VxiKRZy4MIMdX9xF4wJLZhBycc9kIbj6TAJgrqj016aZe1ktd0sXQyT6pDRgT_FpJPqdUKw-IdKzBU5KYLmcyOdcLVmO-ctWQAIzobMAe8nNx6t_cqqzJeDMG3DuXUXa1iqdZxrAm9g_ZyrYLHWxiEH5YmOZ2ryLAGFs-2XVSjRctLnVkwbbJVslsUoCEUcCDuykzjlCGbrcps_b_CNqsBUPFnDelD0mb5HuTwXD62Wmd8ZMuQ&h=leqg44B9PjRIegF7Lbfq98VoGh4eWhAUy38-3OmRr8c + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"5864f65c-efb7-4ca1-a249-420747013916","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 5E1BC01459F34AF3A94FC8A91185D9A1 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:48:04Z' + status: 200 OK + code: 200 + duration: 301.615083ms + - id: 21 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1474 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cdficv/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-mlpeas":{"principalId":"3a403200-2fa6-4bcf-9f7e-1b203762b294","tenantId":"00000000-0000-0000-0000-000000000000"}},"principalId":"00000000-0000-0000-0000-000000000000","type":"UserAssigned","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-ghhjvf.mysql.database.azure.com","availabilityZone":"3","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T17:51:31.6945789+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf","name":"asotest-mysql-ghhjvf","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1474" + Content-Type: + - application/json; charset=utf-8 + 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: A13E5021334E47B590293D0D5CE805C7 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:48:05Z' + status: 200 OK + code: 200 + duration: 435.772242ms + - id: 22 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1474 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cdficv/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-mlpeas":{"principalId":"3a403200-2fa6-4bcf-9f7e-1b203762b294","tenantId":"00000000-0000-0000-0000-000000000000"}},"principalId":"00000000-0000-0000-0000-000000000000","type":"UserAssigned","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-ghhjvf.mysql.database.azure.com","availabilityZone":"3","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T17:51:31.6945789+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf","name":"asotest-mysql-ghhjvf","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1474" + Content-Type: + - application/json; charset=utf-8 + 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: 562F0D9002624B9D94C23AE16AA8C953 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:48:06Z' + status: 200 OK + code: 200 + duration: 374.059025ms + - id: 23 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 387 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"ActiveDirectory","properties":{"administratorType":"ActiveDirectory","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-mlpeas","login":"asotest-mi-mlpeas","sid":"37dab25d-a26d-471d-8e4a-2ce77a7a8f6d","tenantId":"00000000-0000-0000-0000-000000000000"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "387" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 390e1e3a3138eb8038f3208d8d6125c4ac1510d1d966bd437c44ac69f8873813 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/administrators/ActiveDirectory?api-version=2022-01-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"operation":"UpsertActiveDirectoryAdministratorManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/495560bc-7c1d-43b6-bf89-c00d6a68bc18?api-version=2022-01-01&t=638477632917974199&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=LiD6D2Da6g01EThSXgj3C4A0xbDEIgX2_-tgWaG_cTADrzx0IJ61sNkR5OijJpS1AhpvRxaTGF2uwJ-HYattGjlvC-EUWL31HCNB4iLpCuqCkjJWi0vZ7llW5FekEfsZmnET70m94ScQ2EqeuQi74Xw4jSie38s6OKIebPnoTFtZy91W8lhthdfBcZVbCtI04nxH4i4GHbI3Ua92RVhawMTfqiRsHmNfIFhxwT8tJS0YmMVvA_xfzorYNvvxLNX51BUIYvR7fWujYWY6eXNxolc-ShEN33VRmv1ZntPHSbxARU-y-BjzKy1SuzZF1G8W_E3gXZ1QGvdXugoxmkBKfg&h=78yG8O8TLwAns5T0N_wLNsjhzeklL4Tcs_c4YRsnnTo + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/495560bc-7c1d-43b6-bf89-c00d6a68bc18?api-version=2022-01-01&t=638477632918130568&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=E4JUtN2wb9ZEfkucd9qRrIioIIreOa8ya3tsicWAkU1uvEi5MqYa-EyN4mSpxx1h0Ge35-XCToC8uOun3WCdfahnzuxTm8Is08QYDczPmqUceiuuHzSRJUvwDWwiNyYS8BTSvvnNBhz59zaDgCYLPVIVb2aSoslcwoA1nHoGr7fss3YfyDdour3GGL11BuKXclbrPMRez4wWgo75ajG16fz0hJFz_kLzO2OW3XOsfEYM5nRKIES1fL1PAyIYPgPWwFEJofDurnqkX9eb5sFRIOCYbMLMiCUbXyjDyIoxw303U1qqNKAJ9pUqKzeCUwYFKm8qYdTcTAWfBGOS9YXfyw&h=xGCqBsXIWrCaxGp9D1sRqK3joUnyZjnmtEFP0cvBxTc + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 229B86AA23AB4F05ABAB3DCFFD9FB9A6 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:48:11Z' + status: 202 Accepted + code: 202 + duration: 350.899924ms + - id: 24 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/495560bc-7c1d-43b6-bf89-c00d6a68bc18?api-version=2022-01-01&t=638477632917974199&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=LiD6D2Da6g01EThSXgj3C4A0xbDEIgX2_-tgWaG_cTADrzx0IJ61sNkR5OijJpS1AhpvRxaTGF2uwJ-HYattGjlvC-EUWL31HCNB4iLpCuqCkjJWi0vZ7llW5FekEfsZmnET70m94ScQ2EqeuQi74Xw4jSie38s6OKIebPnoTFtZy91W8lhthdfBcZVbCtI04nxH4i4GHbI3Ua92RVhawMTfqiRsHmNfIFhxwT8tJS0YmMVvA_xfzorYNvvxLNX51BUIYvR7fWujYWY6eXNxolc-ShEN33VRmv1ZntPHSbxARU-y-BjzKy1SuzZF1G8W_E3gXZ1QGvdXugoxmkBKfg&h=78yG8O8TLwAns5T0N_wLNsjhzeklL4Tcs_c4YRsnnTo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"495560bc-7c1d-43b6-bf89-c00d6a68bc18","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 369CA4A5A47B4768876C59368434E7EF Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:48:14Z' + status: 200 OK + code: 200 + duration: 272.301426ms + - id: 25 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/495560bc-7c1d-43b6-bf89-c00d6a68bc18?api-version=2022-01-01&t=638477632917974199&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=LiD6D2Da6g01EThSXgj3C4A0xbDEIgX2_-tgWaG_cTADrzx0IJ61sNkR5OijJpS1AhpvRxaTGF2uwJ-HYattGjlvC-EUWL31HCNB4iLpCuqCkjJWi0vZ7llW5FekEfsZmnET70m94ScQ2EqeuQi74Xw4jSie38s6OKIebPnoTFtZy91W8lhthdfBcZVbCtI04nxH4i4GHbI3Ua92RVhawMTfqiRsHmNfIFhxwT8tJS0YmMVvA_xfzorYNvvxLNX51BUIYvR7fWujYWY6eXNxolc-ShEN33VRmv1ZntPHSbxARU-y-BjzKy1SuzZF1G8W_E3gXZ1QGvdXugoxmkBKfg&h=78yG8O8TLwAns5T0N_wLNsjhzeklL4Tcs_c4YRsnnTo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"495560bc-7c1d-43b6-bf89-c00d6a68bc18","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: DF4AF1E62E2F43D1B4149F130E11E3EB Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:49:14Z' + status: 200 OK + code: 200 + duration: 350.775453ms + - id: 26 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/administrators/ActiveDirectory?api-version=2022-01-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 639 + uncompressed: false + body: '{"properties":{"administratorType":"ActiveDirectory","login":"asotest-mi-mlpeas","sid":"37dab25d-a26d-471d-8e4a-2ce77a7a8f6d","tenantId":"00000000-0000-0000-0000-000000000000","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cdficv/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-mlpeas"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/administrators/ActiveDirectory","name":"ActiveDirectory","type":"Microsoft.DBforMySQL/flexibleServers/administrators"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "639" + Content-Type: + - application/json; charset=utf-8 + 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: 1AADE369C0FD416BB5C6AE6D5737C578 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:49:15Z' + status: 200 OK + code: 200 + duration: 1.373938752s + - id: 27 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/administrators/ActiveDirectory?api-version=2022-01-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 639 + uncompressed: false + body: '{"properties":{"administratorType":"ActiveDirectory","login":"asotest-mi-mlpeas","sid":"37dab25d-a26d-471d-8e4a-2ce77a7a8f6d","tenantId":"00000000-0000-0000-0000-000000000000","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cdficv/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-mlpeas"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/administrators/ActiveDirectory","name":"ActiveDirectory","type":"Microsoft.DBforMySQL/flexibleServers/administrators"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "639" + Content-Type: + - application/json; charset=utf-8 + 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: 39883C6A2B2249A2BAEC07DAE8F7A176 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:49:18Z' + status: 200 OK + code: 200 + duration: 1.945666827s + - id: 28 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/administrators/ActiveDirectory?api-version=2022-01-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"operation":"DropActiveDirectoryAdministratorManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/6912c3dc-e4e6-4ad0-9520-5a13a0174ec9?api-version=2022-01-01&t=638477633657965601&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Hec2F0yiN3H7B3SLt8hqNSsBqAcc6hgm9BJrqMeybUksLZC_yZn43ZAoGtgdkbZyXk5X0O2unPcUsnU81lc8wcNNEGw_xWQ7oLlxFov3UZFGzei3GT43Ri6k8xJVsxpCjCsK5pEMs3-ityUOyDeYflQ2kcNrL5wtAqjqfZYB6Lc6Q85ga6csuRkqRGaNtG28_zMTomaymMa5LsjZWMKoqtW_GYlhosIsaagIp4LRSeID8bVfo5o2UAMbKQ1oKK87JbvwGZZF-hBpg7j2aPF7q-uMsZeV3As8vFSYKhrNWUrVlm2oZZQrIgcAuEEanLInNE9VLOUp9chwjyPg-aTL7A&h=MVTibKRdgFAO5xpV-nLe4Suj0nXSDJPgRHMgjdAEPMs + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/6912c3dc-e4e6-4ad0-9520-5a13a0174ec9?api-version=2022-01-01&t=638477633658121849&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=wh_1qEA_5r68wQ6nDtFkjLuWArjRZZD0QEd6AE5CFHtMt0_xHWko0NnwaBQdDguCgNGu-kf8kyyVnARIVe-CwDCRdjEX2lyFQxTe8-eoFf5BIl81psI6A4M-Cj2TwxSxZhQWtxn6ZCP7ZVY19g6zYTBjsMehKQwSIw-wyxHPejfHRLgcv1hOZV9wDUYp-9RM3I81bafc2MyO9oVSJT4myw9tD-BLjIKfSaByB8qFoHKDswFj47MHbfcNl0s6INUpXyND8M_1ZXorRmM8ZHYjpuQTExN6_aaa3_cwm8eDIOfIQkZ0XtsUKF96Ia37DHLdMv0X6pYBeDq3kfXWqhvZZQ&h=OrQg1Gz2Pekb8RsAYXA1mSYbt2cnwd6I7126CkW2N6Y + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: E240CFBE291E484F82A9A18526D40424 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:49:25Z' + status: 202 Accepted + code: 202 + duration: 281.727695ms + - id: 29 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/6912c3dc-e4e6-4ad0-9520-5a13a0174ec9?api-version=2022-01-01&t=638477633657965601&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Hec2F0yiN3H7B3SLt8hqNSsBqAcc6hgm9BJrqMeybUksLZC_yZn43ZAoGtgdkbZyXk5X0O2unPcUsnU81lc8wcNNEGw_xWQ7oLlxFov3UZFGzei3GT43Ri6k8xJVsxpCjCsK5pEMs3-ityUOyDeYflQ2kcNrL5wtAqjqfZYB6Lc6Q85ga6csuRkqRGaNtG28_zMTomaymMa5LsjZWMKoqtW_GYlhosIsaagIp4LRSeID8bVfo5o2UAMbKQ1oKK87JbvwGZZF-hBpg7j2aPF7q-uMsZeV3As8vFSYKhrNWUrVlm2oZZQrIgcAuEEanLInNE9VLOUp9chwjyPg-aTL7A&h=MVTibKRdgFAO5xpV-nLe4Suj0nXSDJPgRHMgjdAEPMs + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"6912c3dc-e4e6-4ad0-9520-5a13a0174ec9","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 2488FDA906F04884AF1EF319ABA45EB7 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:50:26Z' + status: 200 OK + code: 200 + duration: 279.382017ms + - id: 30 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 99 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"asotest-fwrule-jideja","properties":{"endIpAddress":"1.2.3.4","startIpAddress":"1.2.3.4"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "99" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 0d346692f7b3722a8e6fce129aa9888aac46434d9c328d5e4b559c44dba25557 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/firewallRules/asotest-fwrule-jideja?api-version=2021-05-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 99 + uncompressed: false + body: '{"operation":"UpsertServerFirewallRulesManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/10cadfa9-d545-4c27-82f6-956d63f9adda?api-version=2021-05-01&t=638477634321618196&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=3LIn5mT-LXTJhmdkGGWbJL_7m204vzAeAzUNB_v8wxwK4bhajDQxtgBXnOxWNymR1FeO2ZNYz-e6T--g0aL0uB2HtukAb1jLhgGBRKWfUcfjqxlkTiogLZ-Lu-7xkKkpkkr5iJCgTBEs3y573GcgkLxcUG7-kl1_Hx4Q7BDt9LnTj_aAhUzql0a4nc18T3ix1aEt30hfAFEcemYwaqPOGahCXQCvEqv77QNrztKyfxYvoHAat56umyN1R8DRI9b7c6xAwsPJd6o9KC1mT_KQ3fHzBiX2MleIM7nnFJSJTSLxYEuyV2Yj-ZiY70Xy2EnaftP24G0wOtcb3bQrrnmX_Q&h=A51LpTVjxWY3M00mEldamaVHnMmK9HPHK93VuLnyx7I + Cache-Control: + - no-cache + Content-Length: + - "99" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/10cadfa9-d545-4c27-82f6-956d63f9adda?api-version=2021-05-01&t=638477634321618196&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=I5BtvjSH2Zfpem-s-f3jR2J1-fZNjyK6om0F59tDFXZgu6TM9SFiemrVvo5AzDppw2VFuNtPlKcYlmR53_gF7Hrfcg1UAuJ_BFIA969nH8XuVS95oqOmP-NaUIYIvR8NwYcFxCM2s1A4cbPYHAqdM3AV8737ztWzXhuQuASM5inPEu3AdTTcHKP7KQ_xIS0ds1DiaUjACzdiBzKPVQ3CVuyDSyu3DAgw5awRgrkPGjyBp_TWW56LTe8ckNOirtgA7CA6ltKhnIcL7eoNcYkIARR3j9n0fPFzcR43jgEiKBsc33lvstQXO2yWb4geyfYcmIKEFM2WhsFmXRcaBxMOzg&h=bjT7z3dDPTtAgGYaJc1ct6iGbXG8HZBC1-w2GtsASdw + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 9CA4DDAB28BB43C39DE83043F77B34C5 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:50:31Z' + status: 202 Accepted + code: 202 + duration: 485.593372ms + - id: 31 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 79 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"max_connections","properties":{"source":"user-override","value":"20"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "79" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - b2de8c2d080b5500f2922ac481bfb2d6653a302197a52e0d055740cb3138943f + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/configurations/max_connections?api-version=2022-01-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 96 + uncompressed: false + body: '{"operation":"UpdateServerParameterManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb615f25-bea1-4a3d-9211-40700406698a?api-version=2022-01-01&t=638477634321645017&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=YeSUphMWHjvdtd6mEu1AjLhZmcRGruQlE7XC6Cb85b4A4IPtS_6zET9sujHNdkLIxXlxkQpyOB516O9G076eeBoM2OZxSIVEcH6tljPpHYCuf8NlAp6JefvpYwOQm3JraIzObMr49g3ChSxbxpjWN8eoWYpp2ygU6CO5sVzFN6gsXow2V_7FDPDz-mlsLjFUvwPfLOnLJtEgVCSoXILjSL6isFoVL613G5Mv89_BF9KrPmy4nS8Hp8TamB3Hv3eWy5wbWznl-MHIMiMcqVbT1kbeR3Pc8VrNRZ_Sl-UGrLvNhKMlTqLf5EwGLh7bpKAR72LPLQ2KOYWHcVOz4chmBg&h=mkBmsg4zPkkXbzVdU-sUqrfl75MInfl4E_zQE9mFCZk + Cache-Control: + - no-cache + Content-Length: + - "96" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/bb615f25-bea1-4a3d-9211-40700406698a?api-version=2022-01-01&t=638477634321645017&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=vhkaC1ZTUyG534s6ciEZcjt5pdTdi_63yjTSBQcbgM9mTeXXb3qeYnh-1viJH5iCetYc4O4mjA7SZaYIPaD25reQjCLJNc9me1Xl0XB4VLJWoT3fYRpozQjoUKk7GIHVzoJUvywp7bMnYI61CMzloJGoo56FUf79vMbFmw5YL5var-JAgVS8fwR6CJnx2vfgpbDlkwljlFR-GFHR2KRTEGX57B0eC6i7ndfL-XEKkdRcN0nDEhDn9AcZxQr1TrY-bKnUFNfAJwJhIOYSFR1lDJcMC_dtoWI5eRbERWL6r9tl6nKnXXdi_SPwH1g6fS5Q6CqtXVxIkS7qzWXWQ_E4_A&h=awQKmUN2jnHqi6ONb4rjBB3n81ycrLWih7N6_yS-8oE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 4230D0BD0DED43AA909964DBD38579A1 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:50:31Z' + status: 202 Accepted + code: 202 + duration: 484.429089ms + - id: 32 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 61 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"asotestdboyqwba","properties":{"charset":"utf8mb4"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "61" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 5cbb71efa3136dc9013cc1e07bf8490788133a8eb7663773f33251b09ced08f2 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/databases/asotestdboyqwba?api-version=2021-05-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 92 + uncompressed: false + body: '{"operation":"UpsertServerDatabaseManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/32e3abcf-60f4-4d45-8934-abbcff628b11?api-version=2021-05-01&t=638477634335790130&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=n88oXkQz4r54qnFwhL28FUEglPVvvEbOlmKnHoQoFojC1G30O839wr3SF_9Ki_VW8qO-htMvSJ3v2g6nDW7ki6lpJvWcyIyDyGVWVXZdnhsFZnjvuiVzoitVPPsAhna7oNTenBSngQ1s1FzA6Do_Vwc5bWL-IfIp2JSXvGg04zM9sTdrZ-XC0ZyjGbb45yGUBohdqb6di_OvKXYyInwC3ukOnEV3wLddBxArmAFqQgWUCFsDDZXhXH_sgpd-41HjDsK1jQ-hsT3M8LUj8U0UaHrTS8c3YoswlnMRgrDNBYyRTqnB6Dpl1uyKVhnv2WeQ3Nv0ANxHTyNHFGeTTjhrrQ&h=4-mNz7cey3LlI-abkq4YgNHZR-hinHmu19ZKSLjWdQo + Cache-Control: + - no-cache + Content-Length: + - "92" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/32e3abcf-60f4-4d45-8934-abbcff628b11?api-version=2021-05-01&t=638477634335946407&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=kF3Vx9VIqScjJHqHD47BacwFR-NcWEtnqV3sX6WGVgkx6RdwWhSKwuZxcx1rLGxLVDIUpRgC5y7f9BeEaPJ5b0rZAY_IAKUbRVgRmjr6SIJkqI4cFmafW_xAvAQsqVtmcyRW4IKinNC8oJ6nAU_jZUkrrUBPPJ59i_Id4BCR9RWKfjj4g4PaEbStGn_VarodM0kxAibiYfc24-gJuZpZnT7eqxFqvSyQ9j0iQl25KOmXrs-3DwVjoncIU1PK9J1ovQ0VOtK4jhxdV3ZV3-CGQ-VTggrnfgofz2wpBvv24d9XRYiPkTEf8-0bJL-rjiSU0bkElgebVKMNhhy44dwJ-g&h=jD2N-K-HBgEc7LfqnaTqFt0TvKVhy3TpwUJhHG-yHzw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: F022001A958B4B438DE5432FCB88C649 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:50:31Z' + status: 202 Accepted + code: 202 + duration: 1.924635886s + - id: 33 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb615f25-bea1-4a3d-9211-40700406698a?api-version=2022-01-01&t=638477634321645017&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=YeSUphMWHjvdtd6mEu1AjLhZmcRGruQlE7XC6Cb85b4A4IPtS_6zET9sujHNdkLIxXlxkQpyOB516O9G076eeBoM2OZxSIVEcH6tljPpHYCuf8NlAp6JefvpYwOQm3JraIzObMr49g3ChSxbxpjWN8eoWYpp2ygU6CO5sVzFN6gsXow2V_7FDPDz-mlsLjFUvwPfLOnLJtEgVCSoXILjSL6isFoVL613G5Mv89_BF9KrPmy4nS8Hp8TamB3Hv3eWy5wbWznl-MHIMiMcqVbT1kbeR3Pc8VrNRZ_Sl-UGrLvNhKMlTqLf5EwGLh7bpKAR72LPLQ2KOYWHcVOz4chmBg&h=mkBmsg4zPkkXbzVdU-sUqrfl75MInfl4E_zQE9mFCZk + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"bb615f25-bea1-4a3d-9211-40700406698a","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 6CE5D22787E640579F2F6779BC2FC104 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:50:34Z' + status: 200 OK + code: 200 + duration: 291.806197ms + - id: 34 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/10cadfa9-d545-4c27-82f6-956d63f9adda?api-version=2021-05-01&t=638477634321618196&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=3LIn5mT-LXTJhmdkGGWbJL_7m204vzAeAzUNB_v8wxwK4bhajDQxtgBXnOxWNymR1FeO2ZNYz-e6T--g0aL0uB2HtukAb1jLhgGBRKWfUcfjqxlkTiogLZ-Lu-7xkKkpkkr5iJCgTBEs3y573GcgkLxcUG7-kl1_Hx4Q7BDt9LnTj_aAhUzql0a4nc18T3ix1aEt30hfAFEcemYwaqPOGahCXQCvEqv77QNrztKyfxYvoHAat56umyN1R8DRI9b7c6xAwsPJd6o9KC1mT_KQ3fHzBiX2MleIM7nnFJSJTSLxYEuyV2Yj-ZiY70Xy2EnaftP24G0wOtcb3bQrrnmX_Q&h=A51LpTVjxWY3M00mEldamaVHnMmK9HPHK93VuLnyx7I + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"10cadfa9-d545-4c27-82f6-956d63f9adda","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: CB96DE83B6284F258679B1550A5AF03D Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:50:34Z' + status: 200 OK + code: 200 + duration: 1.130663536s + - id: 35 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/firewallRules/asotest-fwrule-jideja?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 355 + uncompressed: false + body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.4"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/firewallRules/asotest-fwrule-jideja","name":"asotest-fwrule-jideja","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "355" + Content-Type: + - application/json; charset=utf-8 + 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: D19AEB850BE94A399C1903FDCB42D179 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:50:36Z' + status: 200 OK + code: 200 + duration: 657.184685ms + - id: 36 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/32e3abcf-60f4-4d45-8934-abbcff628b11?api-version=2021-05-01&t=638477634335790130&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=n88oXkQz4r54qnFwhL28FUEglPVvvEbOlmKnHoQoFojC1G30O839wr3SF_9Ki_VW8qO-htMvSJ3v2g6nDW7ki6lpJvWcyIyDyGVWVXZdnhsFZnjvuiVzoitVPPsAhna7oNTenBSngQ1s1FzA6Do_Vwc5bWL-IfIp2JSXvGg04zM9sTdrZ-XC0ZyjGbb45yGUBohdqb6di_OvKXYyInwC3ukOnEV3wLddBxArmAFqQgWUCFsDDZXhXH_sgpd-41HjDsK1jQ-hsT3M8LUj8U0UaHrTS8c3YoswlnMRgrDNBYyRTqnB6Dpl1uyKVhnv2WeQ3Nv0ANxHTyNHFGeTTjhrrQ&h=4-mNz7cey3LlI-abkq4YgNHZR-hinHmu19ZKSLjWdQo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"32e3abcf-60f4-4d45-8934-abbcff628b11","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 78F716E7212540B7AD5EA63DFC3C3272 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:50:37Z' + status: 200 OK + code: 200 + duration: 565.870897ms + - id: 37 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/firewallRules/asotest-fwrule-jideja?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 355 + uncompressed: false + body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.4"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/firewallRules/asotest-fwrule-jideja","name":"asotest-fwrule-jideja","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "355" + Content-Type: + - application/json; charset=utf-8 + 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: 10264B71EA93498293CA85C280FD8461 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:50:38Z' + status: 200 OK + code: 200 + duration: 383.90951ms + - id: 38 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 99 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"asotest-fwrule-jideja","properties":{"endIpAddress":"1.2.3.5","startIpAddress":"1.2.3.4"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "99" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - a00b89343da0756a7672e3ef800e4100b46bbf5532a34f5a2d44365568b744d8 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/firewallRules/asotest-fwrule-jideja?api-version=2021-05-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 99 + uncompressed: false + body: '{"operation":"UpsertServerFirewallRulesManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/aad7c13f-2beb-4f6e-b8fb-3f3015a77c49?api-version=2021-05-01&t=638477634412099145&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=R5YcK1v-sFAefdy7cwMs1vz9nNuLr1bTR57npqwCklqVmeCZLKjzJvlPLign_wBzpigfyMbrvJtgzcp-xQeqD1tlDHzlHTIEeI6lkKzmt9owcvhHrz3ufzpU1ZLBF7-fvwFbzdAT8VmzkwvXP_v8swhSVEma_yUpF9eHVpkdpdd8LKFXj4jBxVE2mLO-8qxEyXLy_7JWC6-T8qYclyiDOK7TPp_nceaJTWEfNfJ_ijoQtGot-AQLnYGGDOCekVedE5Vd4ceB_ZZa3OhjdLdjdROL8J5YVvaUxRRqcP6m4iJY0ahYsgucJO9ZQjf5G8ZpPiNMyUo_cySRd9ae13Zk-A&h=GFoveG67CahGZ0nm9RjEw-3100QZ0EIZMDS89oXVFMY + Cache-Control: + - no-cache + Content-Length: + - "99" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/aad7c13f-2beb-4f6e-b8fb-3f3015a77c49?api-version=2021-05-01&t=638477634412255405&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=DX-OiOWNfWhG-PeERajvOSGeact153Kg-E1lNXJsm07plJUtPvBP9Tu-YmovE-QYx0TGbHVCRO8YK65W0xkNu1doreP2xBoPqUoWlzMGbXlexK6oywqEDtYFJg32pyl7WUYl2BWn5q_8papDcVmP6TzmIMdd5b-dN5rSA6HlAoSNDKRiZgfmPbjOBrYtzaDP3Jh1oGjCfETPm78lrL45Cjw3LtfQtiwszDmVzXG8vKJS3iFWAsGMGLGl2Rxvw-yh7po9YI2t_7U1dfzP6Zn0P8VULR_WvcAVtfTKo5XhqqUofrMK93xviC0sEk8li970dSI-3_hr4RdRYDnf88ID7A&h=82fikRVyFAMijL6PNcZs4rq65zH2-gFjptBGnmme9-M + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 1EB3D8526EF34337ADB2A86B388D7411 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:50:40Z' + status: 202 Accepted + code: 202 + duration: 545.983028ms + - id: 39 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/aad7c13f-2beb-4f6e-b8fb-3f3015a77c49?api-version=2021-05-01&t=638477634412099145&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=R5YcK1v-sFAefdy7cwMs1vz9nNuLr1bTR57npqwCklqVmeCZLKjzJvlPLign_wBzpigfyMbrvJtgzcp-xQeqD1tlDHzlHTIEeI6lkKzmt9owcvhHrz3ufzpU1ZLBF7-fvwFbzdAT8VmzkwvXP_v8swhSVEma_yUpF9eHVpkdpdd8LKFXj4jBxVE2mLO-8qxEyXLy_7JWC6-T8qYclyiDOK7TPp_nceaJTWEfNfJ_ijoQtGot-AQLnYGGDOCekVedE5Vd4ceB_ZZa3OhjdLdjdROL8J5YVvaUxRRqcP6m4iJY0ahYsgucJO9ZQjf5G8ZpPiNMyUo_cySRd9ae13Zk-A&h=GFoveG67CahGZ0nm9RjEw-3100QZ0EIZMDS89oXVFMY + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"aad7c13f-2beb-4f6e-b8fb-3f3015a77c49","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: A87A083FE5864046B61EAD74478016F7 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:50:42Z' + status: 200 OK + code: 200 + duration: 295.467009ms + - id: 40 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb615f25-bea1-4a3d-9211-40700406698a?api-version=2022-01-01&t=638477634321645017&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=YeSUphMWHjvdtd6mEu1AjLhZmcRGruQlE7XC6Cb85b4A4IPtS_6zET9sujHNdkLIxXlxkQpyOB516O9G076eeBoM2OZxSIVEcH6tljPpHYCuf8NlAp6JefvpYwOQm3JraIzObMr49g3ChSxbxpjWN8eoWYpp2ygU6CO5sVzFN6gsXow2V_7FDPDz-mlsLjFUvwPfLOnLJtEgVCSoXILjSL6isFoVL613G5Mv89_BF9KrPmy4nS8Hp8TamB3Hv3eWy5wbWznl-MHIMiMcqVbT1kbeR3Pc8VrNRZ_Sl-UGrLvNhKMlTqLf5EwGLh7bpKAR72LPLQ2KOYWHcVOz4chmBg&h=mkBmsg4zPkkXbzVdU-sUqrfl75MInfl4E_zQE9mFCZk + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"bb615f25-bea1-4a3d-9211-40700406698a","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: FE89255F548D46C5917E417AC6013CAD Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:50:50Z' + status: 200 OK + code: 200 + duration: 339.55015ms + - id: 41 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/32e3abcf-60f4-4d45-8934-abbcff628b11?api-version=2021-05-01&t=638477634335790130&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=n88oXkQz4r54qnFwhL28FUEglPVvvEbOlmKnHoQoFojC1G30O839wr3SF_9Ki_VW8qO-htMvSJ3v2g6nDW7ki6lpJvWcyIyDyGVWVXZdnhsFZnjvuiVzoitVPPsAhna7oNTenBSngQ1s1FzA6Do_Vwc5bWL-IfIp2JSXvGg04zM9sTdrZ-XC0ZyjGbb45yGUBohdqb6di_OvKXYyInwC3ukOnEV3wLddBxArmAFqQgWUCFsDDZXhXH_sgpd-41HjDsK1jQ-hsT3M8LUj8U0UaHrTS8c3YoswlnMRgrDNBYyRTqnB6Dpl1uyKVhnv2WeQ3Nv0ANxHTyNHFGeTTjhrrQ&h=4-mNz7cey3LlI-abkq4YgNHZR-hinHmu19ZKSLjWdQo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"32e3abcf-60f4-4d45-8934-abbcff628b11","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 729F0CEAEBC84B3E9043BF7C2B9EFB7C Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:50:53Z' + status: 200 OK + code: 200 + duration: 350.643323ms + - id: 42 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb615f25-bea1-4a3d-9211-40700406698a?api-version=2022-01-01&t=638477634321645017&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=YeSUphMWHjvdtd6mEu1AjLhZmcRGruQlE7XC6Cb85b4A4IPtS_6zET9sujHNdkLIxXlxkQpyOB516O9G076eeBoM2OZxSIVEcH6tljPpHYCuf8NlAp6JefvpYwOQm3JraIzObMr49g3ChSxbxpjWN8eoWYpp2ygU6CO5sVzFN6gsXow2V_7FDPDz-mlsLjFUvwPfLOnLJtEgVCSoXILjSL6isFoVL613G5Mv89_BF9KrPmy4nS8Hp8TamB3Hv3eWy5wbWznl-MHIMiMcqVbT1kbeR3Pc8VrNRZ_Sl-UGrLvNhKMlTqLf5EwGLh7bpKAR72LPLQ2KOYWHcVOz4chmBg&h=mkBmsg4zPkkXbzVdU-sUqrfl75MInfl4E_zQE9mFCZk + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"bb615f25-bea1-4a3d-9211-40700406698a","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: C692FBF147DD411A8E278986E3D931CF Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:51:05Z' + status: 200 OK + code: 200 + duration: 300.976509ms + - id: 43 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/32e3abcf-60f4-4d45-8934-abbcff628b11?api-version=2021-05-01&t=638477634335790130&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=n88oXkQz4r54qnFwhL28FUEglPVvvEbOlmKnHoQoFojC1G30O839wr3SF_9Ki_VW8qO-htMvSJ3v2g6nDW7ki6lpJvWcyIyDyGVWVXZdnhsFZnjvuiVzoitVPPsAhna7oNTenBSngQ1s1FzA6Do_Vwc5bWL-IfIp2JSXvGg04zM9sTdrZ-XC0ZyjGbb45yGUBohdqb6di_OvKXYyInwC3ukOnEV3wLddBxArmAFqQgWUCFsDDZXhXH_sgpd-41HjDsK1jQ-hsT3M8LUj8U0UaHrTS8c3YoswlnMRgrDNBYyRTqnB6Dpl1uyKVhnv2WeQ3Nv0ANxHTyNHFGeTTjhrrQ&h=4-mNz7cey3LlI-abkq4YgNHZR-hinHmu19ZKSLjWdQo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"32e3abcf-60f4-4d45-8934-abbcff628b11","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 328DBB656EDD448A8C6DEE1F6DDA0CFB Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:51:09Z' + status: 200 OK + code: 200 + duration: 320.521168ms + - id: 44 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb615f25-bea1-4a3d-9211-40700406698a?api-version=2022-01-01&t=638477634321645017&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=YeSUphMWHjvdtd6mEu1AjLhZmcRGruQlE7XC6Cb85b4A4IPtS_6zET9sujHNdkLIxXlxkQpyOB516O9G076eeBoM2OZxSIVEcH6tljPpHYCuf8NlAp6JefvpYwOQm3JraIzObMr49g3ChSxbxpjWN8eoWYpp2ygU6CO5sVzFN6gsXow2V_7FDPDz-mlsLjFUvwPfLOnLJtEgVCSoXILjSL6isFoVL613G5Mv89_BF9KrPmy4nS8Hp8TamB3Hv3eWy5wbWznl-MHIMiMcqVbT1kbeR3Pc8VrNRZ_Sl-UGrLvNhKMlTqLf5EwGLh7bpKAR72LPLQ2KOYWHcVOz4chmBg&h=mkBmsg4zPkkXbzVdU-sUqrfl75MInfl4E_zQE9mFCZk + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"bb615f25-bea1-4a3d-9211-40700406698a","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: C6E4B2EE58784FC8A323792536E30A6E Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:51:21Z' + status: 200 OK + code: 200 + duration: 494.458263ms + - id: 45 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/32e3abcf-60f4-4d45-8934-abbcff628b11?api-version=2021-05-01&t=638477634335790130&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=n88oXkQz4r54qnFwhL28FUEglPVvvEbOlmKnHoQoFojC1G30O839wr3SF_9Ki_VW8qO-htMvSJ3v2g6nDW7ki6lpJvWcyIyDyGVWVXZdnhsFZnjvuiVzoitVPPsAhna7oNTenBSngQ1s1FzA6Do_Vwc5bWL-IfIp2JSXvGg04zM9sTdrZ-XC0ZyjGbb45yGUBohdqb6di_OvKXYyInwC3ukOnEV3wLddBxArmAFqQgWUCFsDDZXhXH_sgpd-41HjDsK1jQ-hsT3M8LUj8U0UaHrTS8c3YoswlnMRgrDNBYyRTqnB6Dpl1uyKVhnv2WeQ3Nv0ANxHTyNHFGeTTjhrrQ&h=4-mNz7cey3LlI-abkq4YgNHZR-hinHmu19ZKSLjWdQo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"32e3abcf-60f4-4d45-8934-abbcff628b11","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 1BBA89A2736E47EAAB5C10A8F12A0CBA Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:51:25Z' + status: 200 OK + code: 200 + duration: 286.37544ms + - id: 46 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb615f25-bea1-4a3d-9211-40700406698a?api-version=2022-01-01&t=638477634321645017&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=YeSUphMWHjvdtd6mEu1AjLhZmcRGruQlE7XC6Cb85b4A4IPtS_6zET9sujHNdkLIxXlxkQpyOB516O9G076eeBoM2OZxSIVEcH6tljPpHYCuf8NlAp6JefvpYwOQm3JraIzObMr49g3ChSxbxpjWN8eoWYpp2ygU6CO5sVzFN6gsXow2V_7FDPDz-mlsLjFUvwPfLOnLJtEgVCSoXILjSL6isFoVL613G5Mv89_BF9KrPmy4nS8Hp8TamB3Hv3eWy5wbWznl-MHIMiMcqVbT1kbeR3Pc8VrNRZ_Sl-UGrLvNhKMlTqLf5EwGLh7bpKAR72LPLQ2KOYWHcVOz4chmBg&h=mkBmsg4zPkkXbzVdU-sUqrfl75MInfl4E_zQE9mFCZk + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"bb615f25-bea1-4a3d-9211-40700406698a","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: B2B58868E66E4100B40A1D4E49A28564 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:51:37Z' + status: 200 OK + code: 200 + duration: 968.365473ms + - id: 47 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/32e3abcf-60f4-4d45-8934-abbcff628b11?api-version=2021-05-01&t=638477634335790130&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=n88oXkQz4r54qnFwhL28FUEglPVvvEbOlmKnHoQoFojC1G30O839wr3SF_9Ki_VW8qO-htMvSJ3v2g6nDW7ki6lpJvWcyIyDyGVWVXZdnhsFZnjvuiVzoitVPPsAhna7oNTenBSngQ1s1FzA6Do_Vwc5bWL-IfIp2JSXvGg04zM9sTdrZ-XC0ZyjGbb45yGUBohdqb6di_OvKXYyInwC3ukOnEV3wLddBxArmAFqQgWUCFsDDZXhXH_sgpd-41HjDsK1jQ-hsT3M8LUj8U0UaHrTS8c3YoswlnMRgrDNBYyRTqnB6Dpl1uyKVhnv2WeQ3Nv0ANxHTyNHFGeTTjhrrQ&h=4-mNz7cey3LlI-abkq4YgNHZR-hinHmu19ZKSLjWdQo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"32e3abcf-60f4-4d45-8934-abbcff628b11","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: A27B4EC0021B4065AFF04626D87EE662 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:51:40Z' + status: 200 OK + code: 200 + duration: 123.599121ms + - id: 48 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/configurations/max_connections?api-version=2022-01-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 694 + uncompressed: false + body: '{"properties":{"value":"20","currentValue":"20","description":"The maximum permitted number of simultaneous client connections.","defaultValue":"1365","dataType":"Integer","allowedValues":"10-2731","source":"user-override","isConfigPendingRestart":"False","isDynamicConfig":"True","isReadOnly":"False","documentationLink":"https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/configurations/max_connections","name":"max_connections","type":"Microsoft.DBforMySQL/flexibleServers/configurations"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "694" + Content-Type: + - application/json; charset=utf-8 + 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: 600E30CDA11345E6A831A90357FF9846 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:51:39Z' + status: 200 OK + code: 200 + duration: 1.403452158s + - id: 49 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/configurations/max_connections?api-version=2022-01-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 694 + uncompressed: false + body: '{"properties":{"value":"20","currentValue":"20","description":"The maximum permitted number of simultaneous client connections.","defaultValue":"1365","dataType":"Integer","allowedValues":"10-2731","source":"user-override","isConfigPendingRestart":"False","isDynamicConfig":"True","isReadOnly":"False","documentationLink":"https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/configurations/max_connections","name":"max_connections","type":"Microsoft.DBforMySQL/flexibleServers/configurations"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "694" + Content-Type: + - application/json; charset=utf-8 + 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: 7FF6CFD6719441C398C2FEF57B560057 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:51:42Z' + status: 200 OK + code: 200 + duration: 928.95848ms + - id: 50 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/aad7c13f-2beb-4f6e-b8fb-3f3015a77c49?api-version=2021-05-01&t=638477634412099145&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=R5YcK1v-sFAefdy7cwMs1vz9nNuLr1bTR57npqwCklqVmeCZLKjzJvlPLign_wBzpigfyMbrvJtgzcp-xQeqD1tlDHzlHTIEeI6lkKzmt9owcvhHrz3ufzpU1ZLBF7-fvwFbzdAT8VmzkwvXP_v8swhSVEma_yUpF9eHVpkdpdd8LKFXj4jBxVE2mLO-8qxEyXLy_7JWC6-T8qYclyiDOK7TPp_nceaJTWEfNfJ_ijoQtGot-AQLnYGGDOCekVedE5Vd4ceB_ZZa3OhjdLdjdROL8J5YVvaUxRRqcP6m4iJY0ahYsgucJO9ZQjf5G8ZpPiNMyUo_cySRd9ae13Zk-A&h=GFoveG67CahGZ0nm9RjEw-3100QZ0EIZMDS89oXVFMY + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"aad7c13f-2beb-4f6e-b8fb-3f3015a77c49","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 473CA8E3124444DAAE35DAFE2BC328E0 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:51:43Z' + status: 200 OK + code: 200 + duration: 1.842886917s + - id: 51 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/32e3abcf-60f4-4d45-8934-abbcff628b11?api-version=2021-05-01&t=638477634335790130&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=n88oXkQz4r54qnFwhL28FUEglPVvvEbOlmKnHoQoFojC1G30O839wr3SF_9Ki_VW8qO-htMvSJ3v2g6nDW7ki6lpJvWcyIyDyGVWVXZdnhsFZnjvuiVzoitVPPsAhna7oNTenBSngQ1s1FzA6Do_Vwc5bWL-IfIp2JSXvGg04zM9sTdrZ-XC0ZyjGbb45yGUBohdqb6di_OvKXYyInwC3ukOnEV3wLddBxArmAFqQgWUCFsDDZXhXH_sgpd-41HjDsK1jQ-hsT3M8LUj8U0UaHrTS8c3YoswlnMRgrDNBYyRTqnB6Dpl1uyKVhnv2WeQ3Nv0ANxHTyNHFGeTTjhrrQ&h=4-mNz7cey3LlI-abkq4YgNHZR-hinHmu19ZKSLjWdQo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"32e3abcf-60f4-4d45-8934-abbcff628b11","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: B14B9B22A34D41E0AA8AFC5E05F5CF21 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:51:55Z' + status: 200 OK + code: 200 + duration: 277.564953ms + - id: 52 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/32e3abcf-60f4-4d45-8934-abbcff628b11?api-version=2021-05-01&t=638477634335790130&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=n88oXkQz4r54qnFwhL28FUEglPVvvEbOlmKnHoQoFojC1G30O839wr3SF_9Ki_VW8qO-htMvSJ3v2g6nDW7ki6lpJvWcyIyDyGVWVXZdnhsFZnjvuiVzoitVPPsAhna7oNTenBSngQ1s1FzA6Do_Vwc5bWL-IfIp2JSXvGg04zM9sTdrZ-XC0ZyjGbb45yGUBohdqb6di_OvKXYyInwC3ukOnEV3wLddBxArmAFqQgWUCFsDDZXhXH_sgpd-41HjDsK1jQ-hsT3M8LUj8U0UaHrTS8c3YoswlnMRgrDNBYyRTqnB6Dpl1uyKVhnv2WeQ3Nv0ANxHTyNHFGeTTjhrrQ&h=4-mNz7cey3LlI-abkq4YgNHZR-hinHmu19ZKSLjWdQo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"32e3abcf-60f4-4d45-8934-abbcff628b11","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: C838E68EBFC04639BFE6D8A2F3466F43 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:52:11Z' + status: 200 OK + code: 200 + duration: 107.733198ms + - id: 53 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/32e3abcf-60f4-4d45-8934-abbcff628b11?api-version=2021-05-01&t=638477634335790130&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=n88oXkQz4r54qnFwhL28FUEglPVvvEbOlmKnHoQoFojC1G30O839wr3SF_9Ki_VW8qO-htMvSJ3v2g6nDW7ki6lpJvWcyIyDyGVWVXZdnhsFZnjvuiVzoitVPPsAhna7oNTenBSngQ1s1FzA6Do_Vwc5bWL-IfIp2JSXvGg04zM9sTdrZ-XC0ZyjGbb45yGUBohdqb6di_OvKXYyInwC3ukOnEV3wLddBxArmAFqQgWUCFsDDZXhXH_sgpd-41HjDsK1jQ-hsT3M8LUj8U0UaHrTS8c3YoswlnMRgrDNBYyRTqnB6Dpl1uyKVhnv2WeQ3Nv0ANxHTyNHFGeTTjhrrQ&h=4-mNz7cey3LlI-abkq4YgNHZR-hinHmu19ZKSLjWdQo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"32e3abcf-60f4-4d45-8934-abbcff628b11","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 6BA23AD6A39E4E4BA6F8B053AC2D9E0C Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:52:26Z' + status: 200 OK + code: 200 + duration: 300.624464ms + - id: 54 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "8" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/32e3abcf-60f4-4d45-8934-abbcff628b11?api-version=2021-05-01&t=638477634335790130&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=n88oXkQz4r54qnFwhL28FUEglPVvvEbOlmKnHoQoFojC1G30O839wr3SF_9Ki_VW8qO-htMvSJ3v2g6nDW7ki6lpJvWcyIyDyGVWVXZdnhsFZnjvuiVzoitVPPsAhna7oNTenBSngQ1s1FzA6Do_Vwc5bWL-IfIp2JSXvGg04zM9sTdrZ-XC0ZyjGbb45yGUBohdqb6di_OvKXYyInwC3ukOnEV3wLddBxArmAFqQgWUCFsDDZXhXH_sgpd-41HjDsK1jQ-hsT3M8LUj8U0UaHrTS8c3YoswlnMRgrDNBYyRTqnB6Dpl1uyKVhnv2WeQ3Nv0ANxHTyNHFGeTTjhrrQ&h=4-mNz7cey3LlI-abkq4YgNHZR-hinHmu19ZKSLjWdQo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 105 + uncompressed: false + body: '{"name":"32e3abcf-60f4-4d45-8934-abbcff628b11","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "105" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 208E57B7CF834B34920E770B33EEA59A Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:52:42Z' + status: 200 OK + code: 200 + duration: 2.2878292s + - id: 55 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/aad7c13f-2beb-4f6e-b8fb-3f3015a77c49?api-version=2021-05-01&t=638477634412099145&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=R5YcK1v-sFAefdy7cwMs1vz9nNuLr1bTR57npqwCklqVmeCZLKjzJvlPLign_wBzpigfyMbrvJtgzcp-xQeqD1tlDHzlHTIEeI6lkKzmt9owcvhHrz3ufzpU1ZLBF7-fvwFbzdAT8VmzkwvXP_v8swhSVEma_yUpF9eHVpkdpdd8LKFXj4jBxVE2mLO-8qxEyXLy_7JWC6-T8qYclyiDOK7TPp_nceaJTWEfNfJ_ijoQtGot-AQLnYGGDOCekVedE5Vd4ceB_ZZa3OhjdLdjdROL8J5YVvaUxRRqcP6m4iJY0ahYsgucJO9ZQjf5G8ZpPiNMyUo_cySRd9ae13Zk-A&h=GFoveG67CahGZ0nm9RjEw-3100QZ0EIZMDS89oXVFMY + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"aad7c13f-2beb-4f6e-b8fb-3f3015a77c49","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 63DE19E5507842138629B90C38F31929 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:52:47Z' + status: 200 OK + code: 200 + duration: 252.767137ms + - id: 56 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/databases/asotestdboyqwba?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 336 + uncompressed: false + body: '{"properties":{"charset":"utf8mb4","collation":"utf8mb4_0900_ai_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/databases/asotestdboyqwba","name":"asotestdboyqwba","type":"Microsoft.DBforMySQL/flexibleServers/databases"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "336" + Content-Type: + - application/json; charset=utf-8 + 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: 548D82B780A34B729B9D869E7426DD61 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:52:46Z' + status: 200 OK + code: 200 + duration: 964.304076ms + - id: 57 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/firewallRules/asotest-fwrule-jideja?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 355 + uncompressed: false + body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.5"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/firewallRules/asotest-fwrule-jideja","name":"asotest-fwrule-jideja","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "355" + Content-Type: + - application/json; charset=utf-8 + 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: 9DE208C732844936881B12AB0E9A13B0 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:52:47Z' + status: 200 OK + code: 200 + duration: 354.01939ms + - id: 58 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/firewallRules/asotest-fwrule-jideja?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 355 + uncompressed: false + body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.5"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/firewallRules/asotest-fwrule-jideja","name":"asotest-fwrule-jideja","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "355" + Content-Type: + - application/json; charset=utf-8 + 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: CC35DBBC033240EFAD0E276E6011FB93 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:52:48Z' + status: 200 OK + code: 200 + duration: 381.515187ms + - id: 59 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/databases/asotestdboyqwba?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 336 + uncompressed: false + body: '{"properties":{"charset":"utf8mb4","collation":"utf8mb4_0900_ai_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/databases/asotestdboyqwba","name":"asotestdboyqwba","type":"Microsoft.DBforMySQL/flexibleServers/databases"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "336" + Content-Type: + - application/json; charset=utf-8 + 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: D79DCFBF1F06463F9F41B73130B72D3C Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:52:48Z' + status: 200 OK + code: 200 + duration: 1.103320445s + - id: 60 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/firewallRules/asotest-fwrule-jideja?api-version=2021-05-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 96 + uncompressed: false + body: '{"operation":"DropServerFirewallRulesManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/ce3ccd7d-590a-41e7-a9ca-161af815a147?api-version=2021-05-01&t=638477635713790994&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=VGjnLQT-EWTukUknpFXgwj_SSiktDjm_8C5VsoNSZAw-A6wBtnKs5eTP3x8SM2YOC60PW2QDRbW_A-YlofLvbaxepBFs58Kp7UDcjbLj2aLAomkJ6VbyHUymf02SG_RlmSgvVBDoa4c9krHi71ww4AZecIPmad-Jjd6IBB3wxMq3uxFQk-IVNnhMoxM0_MltJW8YpLD-RHC4fQSjS50B3WHSLLMyu3ATzTNx_7a3algE5aX8b28RaLMvpskxj7nci5X5i_-BYmZaB3bSF9Bq2WeSY_AWY98PVk1S8DP9jg2AqXaCGGTuGdwVFePg5uSra9WGLZNrYG6x7mXR9iMCng&h=E-eh_iPlfiL0UMzoxY282Rl5-sUAVwMNA6HW_uvDrSA + Cache-Control: + - no-cache + Content-Length: + - "96" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/ce3ccd7d-590a-41e7-a9ca-161af815a147?api-version=2021-05-01&t=638477635713947266&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=M9o4iFqY6seEPj7GLM8uzWZm0qlvDrDf6OwgDSyq2yt790LbPvOpiUTpDa-LVYN15mhRTjD79eiufmh00keOPXnM8-x24EX2ZyixmOQKXg6n9z8t-3zSPmEttMUW82NLCoqZblo7ngtv7teblSN3QovZwGUi48--8Ecdr29zzfwRc6yoHVTCHJCZrzMZ2mp96dt-vfIRrp993FQ_SwfyVAm9duoF-QrthUvJUqY6_EV3ye3FAKpFfgTYAeMS5jGj0mZ4f5I-wBwwXU4QthrjlRE5OWPDLKQAB4MIivt4Y-VpfuUMnpz2pqkfUdrz3mvjSqSKRo193A09PlU71PZoLg&h=IbTWwQS_WMQeXShyydW8OUVL2-BtUQFTmdIiEtd_zKo + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 40EFCC83A3144202BB8BC9C9114F3CC8 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:52:50Z' + status: 202 Accepted + code: 202 + duration: 533.191802ms + - id: 61 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/databases/asotestdboyqwba?api-version=2021-05-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 92 + uncompressed: false + body: '{"operation":"DropServerDatabaseManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b420c6d8-2f27-4d43-9bd6-9caf0c1554ab?api-version=2021-05-01&t=638477635763269919&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=tK4NJKXcnbIR3SCbGjm5dobe2lcSAymK07f1YxEky9WB0rGdYAIJbDCMqce1acU-muV2HkqL1LkLJ5q3VgwvWj9alSP6oC8I67jzV00oFq6l6jR-RB4lINy09dAY94eat8oUwTwBDcjtzfoyC9vpK07n6ZeJ1CcRZcWVMEKQJknHpqmPOl8-nmIyuApy6zPVRnrcDoDagpxb6wK9oy0-IENftEZbZ12LbV5osYtKiu-HV0s5P0NkxSmqehKnkEDkF-GahNaW_3HefhSvzlcKHvsBRzWAhmtjwjBTj2iSNHMwvME_JGTaK_MPYN_b9JkReJHDubZBuWf-Tm7F56Yp5A&h=jWvFAVVB5giTmhftqANKQuGMmGGqKrjVSsvaN7-UgdM + Cache-Control: + - no-cache + Content-Length: + - "92" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/b420c6d8-2f27-4d43-9bd6-9caf0c1554ab?api-version=2021-05-01&t=638477635763269919&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=4828I_Fsl6kS_hHHbzLRofZImcos_ROK9skNCyHpRoAaHUncD11mcYnOV1uML6oixMWL0-_6ZdX8KMEiLVjkBK-VpOEh1bR1O05V6PoCC0njSPnTV0zPsZqapyPkbld4HoXXZCG6EqopK_YvubwwFyG7R8tngPdJp0q5tJROYAoxFqZGJ8-1PmxSx073sq3pnicnEGm2HAt1GMSgTOreoiBe44ygjC0XiMt8yAdy1jBWkwyV654k9fegeBmO6pRfBM3CQ7H4PF367Cl_WUSa43JFUxdEsBMhU68qhY1ztPem1g10VbLI7bA4WfUbOtukvjeHhilPo_0-tSW-n70-Ow&h=Jn6wvJ-2zVyP_E4gAqzGwbaIQUEuOGEvIFKLlEuSIn8 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 28FC34C7D03548E4B71A3FC7BD54D8EF Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:52:55Z' + status: 202 Accepted + code: 202 + duration: 506.325254ms + - id: 62 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b420c6d8-2f27-4d43-9bd6-9caf0c1554ab?api-version=2021-05-01&t=638477635763269919&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=tK4NJKXcnbIR3SCbGjm5dobe2lcSAymK07f1YxEky9WB0rGdYAIJbDCMqce1acU-muV2HkqL1LkLJ5q3VgwvWj9alSP6oC8I67jzV00oFq6l6jR-RB4lINy09dAY94eat8oUwTwBDcjtzfoyC9vpK07n6ZeJ1CcRZcWVMEKQJknHpqmPOl8-nmIyuApy6zPVRnrcDoDagpxb6wK9oy0-IENftEZbZ12LbV5osYtKiu-HV0s5P0NkxSmqehKnkEDkF-GahNaW_3HefhSvzlcKHvsBRzWAhmtjwjBTj2iSNHMwvME_JGTaK_MPYN_b9JkReJHDubZBuWf-Tm7F56Yp5A&h=jWvFAVVB5giTmhftqANKQuGMmGGqKrjVSsvaN7-UgdM + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"b420c6d8-2f27-4d43-9bd6-9caf0c1554ab","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 0D3A17C9F59442AD9F1FCD7528A3853E Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:53:11Z' + status: 200 OK + code: 200 + duration: 325.807269ms + - id: 63 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b420c6d8-2f27-4d43-9bd6-9caf0c1554ab?api-version=2021-05-01&t=638477635763269919&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=tK4NJKXcnbIR3SCbGjm5dobe2lcSAymK07f1YxEky9WB0rGdYAIJbDCMqce1acU-muV2HkqL1LkLJ5q3VgwvWj9alSP6oC8I67jzV00oFq6l6jR-RB4lINy09dAY94eat8oUwTwBDcjtzfoyC9vpK07n6ZeJ1CcRZcWVMEKQJknHpqmPOl8-nmIyuApy6zPVRnrcDoDagpxb6wK9oy0-IENftEZbZ12LbV5osYtKiu-HV0s5P0NkxSmqehKnkEDkF-GahNaW_3HefhSvzlcKHvsBRzWAhmtjwjBTj2iSNHMwvME_JGTaK_MPYN_b9JkReJHDubZBuWf-Tm7F56Yp5A&h=jWvFAVVB5giTmhftqANKQuGMmGGqKrjVSsvaN7-UgdM + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"b420c6d8-2f27-4d43-9bd6-9caf0c1554ab","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 7D09D9EE6C07419982EB50661C0A4A9F Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:53:27Z' + status: 200 OK + code: 200 + duration: 260.986448ms + - id: 64 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b420c6d8-2f27-4d43-9bd6-9caf0c1554ab?api-version=2021-05-01&t=638477635763269919&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=tK4NJKXcnbIR3SCbGjm5dobe2lcSAymK07f1YxEky9WB0rGdYAIJbDCMqce1acU-muV2HkqL1LkLJ5q3VgwvWj9alSP6oC8I67jzV00oFq6l6jR-RB4lINy09dAY94eat8oUwTwBDcjtzfoyC9vpK07n6ZeJ1CcRZcWVMEKQJknHpqmPOl8-nmIyuApy6zPVRnrcDoDagpxb6wK9oy0-IENftEZbZ12LbV5osYtKiu-HV0s5P0NkxSmqehKnkEDkF-GahNaW_3HefhSvzlcKHvsBRzWAhmtjwjBTj2iSNHMwvME_JGTaK_MPYN_b9JkReJHDubZBuWf-Tm7F56Yp5A&h=jWvFAVVB5giTmhftqANKQuGMmGGqKrjVSsvaN7-UgdM + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"b420c6d8-2f27-4d43-9bd6-9caf0c1554ab","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 9AE1328DE93647D29FD393AAB31F5DC5 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:53:43Z' + status: 200 OK + code: 200 + duration: 285.470773ms + - id: 65 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/ce3ccd7d-590a-41e7-a9ca-161af815a147?api-version=2021-05-01&t=638477635713790994&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=VGjnLQT-EWTukUknpFXgwj_SSiktDjm_8C5VsoNSZAw-A6wBtnKs5eTP3x8SM2YOC60PW2QDRbW_A-YlofLvbaxepBFs58Kp7UDcjbLj2aLAomkJ6VbyHUymf02SG_RlmSgvVBDoa4c9krHi71ww4AZecIPmad-Jjd6IBB3wxMq3uxFQk-IVNnhMoxM0_MltJW8YpLD-RHC4fQSjS50B3WHSLLMyu3ATzTNx_7a3algE5aX8b28RaLMvpskxj7nci5X5i_-BYmZaB3bSF9Bq2WeSY_AWY98PVk1S8DP9jg2AqXaCGGTuGdwVFePg5uSra9WGLZNrYG6x7mXR9iMCng&h=E-eh_iPlfiL0UMzoxY282Rl5-sUAVwMNA6HW_uvDrSA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"ce3ccd7d-590a-41e7-a9ca-161af815a147","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 8A868C1C115040F4821A02CA05CC3E9B Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:53:51Z' + status: 200 OK + code: 200 + duration: 108.9603ms + - id: 66 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b420c6d8-2f27-4d43-9bd6-9caf0c1554ab?api-version=2021-05-01&t=638477635763269919&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=tK4NJKXcnbIR3SCbGjm5dobe2lcSAymK07f1YxEky9WB0rGdYAIJbDCMqce1acU-muV2HkqL1LkLJ5q3VgwvWj9alSP6oC8I67jzV00oFq6l6jR-RB4lINy09dAY94eat8oUwTwBDcjtzfoyC9vpK07n6ZeJ1CcRZcWVMEKQJknHpqmPOl8-nmIyuApy6zPVRnrcDoDagpxb6wK9oy0-IENftEZbZ12LbV5osYtKiu-HV0s5P0NkxSmqehKnkEDkF-GahNaW_3HefhSvzlcKHvsBRzWAhmtjwjBTj2iSNHMwvME_JGTaK_MPYN_b9JkReJHDubZBuWf-Tm7F56Yp5A&h=jWvFAVVB5giTmhftqANKQuGMmGGqKrjVSsvaN7-UgdM + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"b420c6d8-2f27-4d43-9bd6-9caf0c1554ab","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 9EF6473514AB48D98FC5EE9D2225D5A1 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:53:58Z' + status: 200 OK + code: 200 + duration: 103.585965ms + - id: 67 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf?api-version=2021-05-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 84 + uncompressed: false + body: '{"operation":"DropServerManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/East%20US/azureAsyncOperation/17fa83e8-2738-4e0d-b2c9-3e4eabb3550e?api-version=2021-05-01&t=638477636430238470&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=FV4ucGloQO8uv37ciA_42Sd4fpWZEYyYjp-zXAixKLIPjVnEZGOExtDzexoAOH25C6acOx2LFzmoOhUh1IjtcMSbraE-xiEPmKxw3wnI2acwb_3DEw2TEA0vxlOuC6N-0M11XcbpTAlyj2eCy16M64b-2Cw-Uvz0DU9JxFN7HmTPyiNKe3gJnrllV7kAzhGRQbb9tLwstN9AtWwsj4MOq158IF2dCF7y_Em7vBdePCXXZOzHQD2Rau41DIWvF70B0zzzYJSrYniLnduAOt51KP2Ai5OudtSTD-gJ_1lmQ7biw8nVSs0S6tnrNIkaJQScUzyk6tFlY8eCkiGtn--uFA&h=tjv2yzkvq-dY2ozLzxajc86fPHVqsZaA0YK23Hkv5jY + Cache-Control: + - no-cache + Content-Length: + - "84" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/East%20US/operationResults/17fa83e8-2738-4e0d-b2c9-3e4eabb3550e?api-version=2021-05-01&t=638477636430238470&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=dMuo2_ZmSp4j4xDtLja8cSoQJdTVQ-omi0qOKoNaBjABG4g3f3zGkiHfsIQVps9EX1i9Jgdqb4SKYIQL9xpynvNMSTFUxYOgM8OOu08M9uGTvYN8P_wSw90lcUoZE52TFYGbMqpLv5Um0It7gAZwqhTRaCDBl3xNbi6EDUZp-v_gAysYIA0QEIGXAekG9z1B-oxufPykvhGHxZ8AflWiYN9VN3Oyom-ejYTW6ABbhjn_FVOIVgKTBJre7VE8-Cxp7_Yjk2UknmYOMzOalpfwMaJI9MVYtKfSiWL-CoR6M9W_fN7t-iWkmKWAV51yhJfBLS8quq3PwLl09XS59qLD2A&h=1l78T21HSEbD6t7tGOgkjzqljUi3kl6dpPTNaLGw-kA + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 210B1A4D9D944C8AA56098641920E61D Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:54:00Z' + status: 202 Accepted + code: 202 + duration: 2.078234481s + - id: 68 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/East%20US/azureAsyncOperation/17fa83e8-2738-4e0d-b2c9-3e4eabb3550e?api-version=2021-05-01&t=638477636430238470&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=FV4ucGloQO8uv37ciA_42Sd4fpWZEYyYjp-zXAixKLIPjVnEZGOExtDzexoAOH25C6acOx2LFzmoOhUh1IjtcMSbraE-xiEPmKxw3wnI2acwb_3DEw2TEA0vxlOuC6N-0M11XcbpTAlyj2eCy16M64b-2Cw-Uvz0DU9JxFN7HmTPyiNKe3gJnrllV7kAzhGRQbb9tLwstN9AtWwsj4MOq158IF2dCF7y_Em7vBdePCXXZOzHQD2Rau41DIWvF70B0zzzYJSrYniLnduAOt51KP2Ai5OudtSTD-gJ_1lmQ7biw8nVSs0S6tnrNIkaJQScUzyk6tFlY8eCkiGtn--uFA&h=tjv2yzkvq-dY2ozLzxajc86fPHVqsZaA0YK23Hkv5jY + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"17fa83e8-2738-4e0d-b2c9-3e4eabb3550e","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 3373D717C7064EACAFCB90446A8E16EF Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:54:20Z' + status: 200 OK + code: 200 + duration: 711.32057ms + - id: 69 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 246 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf'' under resource group ''asotest-rg-cdficv'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "246" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: B6658AB785C74EF3AFA9B329DD621808 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:54:26Z' + status: 404 Not Found + code: 404 + duration: 86.20858ms + - id: 70 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv?api-version=2020-06-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDREZJQ1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477636677298698&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=b0Q0QhfQVQoncA0ntedtwAPeJG48Q5gUkd_1_Q0UkP_f35ebVlUJRn3C-VJJ5jjJjVwgnS1vHQIJvFhuuQZV7DLchUVBnGbBY2ZIVeSUj3EATOIr2TBCez2TrFBTWfSQCw8gIWKromDMFyjFhMg5voZNYBlgE9YQqmop50nYBhpCv3rI9DhgnpjDnIw7VfaEEim2Zvwp1v4FDRZKfY3QNwfoxmXSZL1p_3IpB3F3q2g9nEQkgj5kM49CE8JgH960dc1jm7VlIUGGDPcfp7OJH4Nn40EiHFmgD5Zp7gRbG5wNH4NycOLt3HxwUqL1mSdLv5u8B2Q7Pf-HymCQCUxFnA&h=PfnngXnb0xv_Ey33vAdb4_QIsTwhdWhvz5s_qJL30gQ + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: DD845D5C75544E51BEB50384A8018283 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:54:26Z' + status: 202 Accepted + code: 202 + duration: 1.590997495s + - id: 71 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDREZJQ1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477636677298698&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=b0Q0QhfQVQoncA0ntedtwAPeJG48Q5gUkd_1_Q0UkP_f35ebVlUJRn3C-VJJ5jjJjVwgnS1vHQIJvFhuuQZV7DLchUVBnGbBY2ZIVeSUj3EATOIr2TBCez2TrFBTWfSQCw8gIWKromDMFyjFhMg5voZNYBlgE9YQqmop50nYBhpCv3rI9DhgnpjDnIw7VfaEEim2Zvwp1v4FDRZKfY3QNwfoxmXSZL1p_3IpB3F3q2g9nEQkgj5kM49CE8JgH960dc1jm7VlIUGGDPcfp7OJH4Nn40EiHFmgD5Zp7gRbG5wNH4NycOLt3HxwUqL1mSdLv5u8B2Q7Pf-HymCQCUxFnA&h=PfnngXnb0xv_Ey33vAdb4_QIsTwhdWhvz5s_qJL30gQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDREZJQ1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477636845497221&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=kmMzX7Id3NuQXwzlrhUI6WL9G9UAxRmS-BaBHXA2d1lbd5_vAU-0T0Jb7b561xuHa3QTEcrkgpBVsv3KyhxG8fiBWo69znJINwOuR8O6CKj5lagJklqrflYULN91kOwXB1hTN8JwE9BM6b9LBPgNSU69PeQoiKii0I2GuCbTqPXj93XdQNxIkfwl39foexkMYixtYV2RC2m90-xJoBrwIiCMv34EAHix0uNynB-1TgHQH3Yc4-JRf5Ns8ZurA8z5lprrT5Q1k5l_FjWfUFpb-CldgpSu0_moQb4JpsSJoJGMVsF2xBKmDw-cQSpTdkrbs1qYahkFAqlYm_OwISH-zw&h=WN9SjLLvPKvGB-uzh4AsPDIqHi9k28VVM8Z-XwRE9zk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 23F614A97C654C3398A301A659F7938A Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:54:44Z' + status: 202 Accepted + code: 202 + duration: 155.448668ms + - id: 72 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDREZJQ1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477636677298698&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=b0Q0QhfQVQoncA0ntedtwAPeJG48Q5gUkd_1_Q0UkP_f35ebVlUJRn3C-VJJ5jjJjVwgnS1vHQIJvFhuuQZV7DLchUVBnGbBY2ZIVeSUj3EATOIr2TBCez2TrFBTWfSQCw8gIWKromDMFyjFhMg5voZNYBlgE9YQqmop50nYBhpCv3rI9DhgnpjDnIw7VfaEEim2Zvwp1v4FDRZKfY3QNwfoxmXSZL1p_3IpB3F3q2g9nEQkgj5kM49CE8JgH960dc1jm7VlIUGGDPcfp7OJH4Nn40EiHFmgD5Zp7gRbG5wNH4NycOLt3HxwUqL1mSdLv5u8B2Q7Pf-HymCQCUxFnA&h=PfnngXnb0xv_Ey33vAdb4_QIsTwhdWhvz5s_qJL30gQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDREZJQ1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477637000204842&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=GRVxtoLL2kYLGw1nkT8nRhqzH72BbhrFgN5ASUEYep7DdCtmaZ1bm0712v232uBUeRSbNHdvFPiN9VKzUCzTcq4EX9qDOBcsyMkXf0rGGLmkG1k_8NvXu0NiSXMlG2QruZ75veFC4q6qN-SD5sUv5qjJNPGBrvYRNYuT7ZIhUUXpSwz-1rkMgOX82uJcJZcl31XLwdyFH5fP6ZqXmJDfnuzKfi_WmB0Fp4pcEmzTt1ME1go2nHIX62gKJEYYZRDDldS2VCY7paoYBRU3BJVYW4Zb0pDuuGAlNtXgw03iptFvG9Cfbd1uapCALbFuKtTL6Qt-mxnxpxAZ0M8ArB7gdQ&h=JWSzxOf4OY8B-MfpxIu_MUY16C5XbA3JIJd29eVJvsA + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: DF9AF99FD8C24BF9BBEC5CFC15B6A314 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:54:59Z' + status: 202 Accepted + code: 202 + duration: 306.935747ms + - id: 73 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDREZJQ1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477636677298698&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=b0Q0QhfQVQoncA0ntedtwAPeJG48Q5gUkd_1_Q0UkP_f35ebVlUJRn3C-VJJ5jjJjVwgnS1vHQIJvFhuuQZV7DLchUVBnGbBY2ZIVeSUj3EATOIr2TBCez2TrFBTWfSQCw8gIWKromDMFyjFhMg5voZNYBlgE9YQqmop50nYBhpCv3rI9DhgnpjDnIw7VfaEEim2Zvwp1v4FDRZKfY3QNwfoxmXSZL1p_3IpB3F3q2g9nEQkgj5kM49CE8JgH960dc1jm7VlIUGGDPcfp7OJH4Nn40EiHFmgD5Zp7gRbG5wNH4NycOLt3HxwUqL1mSdLv5u8B2Q7Pf-HymCQCUxFnA&h=PfnngXnb0xv_Ey33vAdb4_QIsTwhdWhvz5s_qJL30gQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDREZJQ1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477637154507835&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=wX_STtSmMqIwg-eSFTjqkt1-R6CcYluPfSkjvTl3M8ibJf1vTcvlUSFrFcMx4pztATpI78RuvTkRFtN7a8CToW3_No_JTKSZOOM2x-jVXZFb0OLDCoP0uyGVHDWyBwLzdT898U6xqWFXEmp650Mn48gEPsy43kBMDz4NfFHSgbucStPS0vucwlk_TbGiSBhEjHYDLF-iBjFugUGN1VGxyIoneJkJTuOE9KCUM51CU9HpJEyOfIK4xUzntAwmmy-bAfRM0rEFuA83KEmVct04C-6tio7SXQYZGndPq5PcoazYJSiHBs7EplMAaj1aeRJOfvcgpS84IBKRdvGWJ4nPuA&h=SyRssKM4sf_L46NyRVqxxsYi_ik_wIPtqYbW9GhK20o + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 116A175B4EFB4D9A8965C5BDD55855FE Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:55:15Z' + status: 202 Accepted + code: 202 + duration: 143.707747ms + - id: 74 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDREZJQ1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477636677298698&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=b0Q0QhfQVQoncA0ntedtwAPeJG48Q5gUkd_1_Q0UkP_f35ebVlUJRn3C-VJJ5jjJjVwgnS1vHQIJvFhuuQZV7DLchUVBnGbBY2ZIVeSUj3EATOIr2TBCez2TrFBTWfSQCw8gIWKromDMFyjFhMg5voZNYBlgE9YQqmop50nYBhpCv3rI9DhgnpjDnIw7VfaEEim2Zvwp1v4FDRZKfY3QNwfoxmXSZL1p_3IpB3F3q2g9nEQkgj5kM49CE8JgH960dc1jm7VlIUGGDPcfp7OJH4Nn40EiHFmgD5Zp7gRbG5wNH4NycOLt3HxwUqL1mSdLv5u8B2Q7Pf-HymCQCUxFnA&h=PfnngXnb0xv_Ey33vAdb4_QIsTwhdWhvz5s_qJL30gQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDREZJQ1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477637308948051&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=A5bG9Q92gI0mhDOJvpMTtUDjNHnP45KdcFwwp1W8Mq2Mv1VuhmOEOoUPDx5ZmlZ1Y3nIlbTv1xq-dEoZ_jfR1XY5LumuUPUKCCHcfThRL1D6uUiQhAdoqz0VGZifp-Zztvg_Glw0D6l3qpk7cTweRhYLXGCZD3t_l2w601yfCe7PK3Wv550uv5PVOAtk1i7WoVYE1NU0Z-jN2Cxpr5FrJuKHGF5pFJ0CqmTYULkDXkl6H2VFHd5ioTkawhQBa2-uNrtmytX0Mujny8HqLfAogISF31d3Za26affwhx3n6qdxwCbVB1rrtyAZAkSwwEwryDy74m6D3T2bQ9lfLBRVVQ&h=X2gfG1vuK52Bdq3rl6rBWyPfjzQRFcN7G2wR3vI1e-k + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 701DFC9598A04A77A1EE74062111A7FB Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:55:30Z' + status: 202 Accepted + code: 202 + duration: 294.698396ms + - id: 75 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDREZJQ1YtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477636677298698&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=b0Q0QhfQVQoncA0ntedtwAPeJG48Q5gUkd_1_Q0UkP_f35ebVlUJRn3C-VJJ5jjJjVwgnS1vHQIJvFhuuQZV7DLchUVBnGbBY2ZIVeSUj3EATOIr2TBCez2TrFBTWfSQCw8gIWKromDMFyjFhMg5voZNYBlgE9YQqmop50nYBhpCv3rI9DhgnpjDnIw7VfaEEim2Zvwp1v4FDRZKfY3QNwfoxmXSZL1p_3IpB3F3q2g9nEQkgj5kM49CE8JgH960dc1jm7VlIUGGDPcfp7OJH4Nn40EiHFmgD5Zp7gRbG5wNH4NycOLt3HxwUqL1mSdLv5u8B2Q7Pf-HymCQCUxFnA&h=PfnngXnb0xv_Ey33vAdb4_QIsTwhdWhvz5s_qJL30gQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + 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: 92E0D757AB944635ACB2EECFECF37F88 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:55:46Z' + status: 200 OK + code: 200 + duration: 277.265208ms + - id: 76 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-mlpeas?api-version=2018-11-30 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 109 + uncompressed: false + body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-cdficv'' could not be found."}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "109" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 126301567A6048859A29C8B996C978A7 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:55:51Z' + status: 404 Not Found + code: 404 + duration: 69.331332ms + - id: 77 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cdficv/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf/configurations/max_connections?api-version=2022-01-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 246 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotest-mysql-ghhjvf'' under resource group ''asotest-rg-cdficv'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "246" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 6AD5C07B2A774291A02AEB31E7B527D5 Ref B: CO6AA3150217053 Ref C: 2024-04-03T17:55:56Z' + status: 404 Not Found + code: 404 + duration: 181.309527ms diff --git a/v2/internal/controllers/recordings/Test_DBForMySQL_FlexibleServer_20230630_CRUD.yaml b/v2/internal/controllers/recordings/Test_DBForMySQL_FlexibleServer_20230630_CRUD.yaml new file mode 100644 index 00000000000..8dca4f3f021 --- /dev/null +++ b/v2/internal/controllers/recordings/Test_DBForMySQL_FlexibleServer_20230630_CRUD.yaml @@ -0,0 +1,4007 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 92 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"asotest-rg-cgtfbe","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "92" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 2548d9f8b2fd42bca3ebf0856ce5564321bf1187987e01cddd75a946c3076b52 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe?api-version=2020-06-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 275 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe","name":"asotest-rg-cgtfbe","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "275" + Content-Type: + - application/json; charset=utf-8 + 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: F382B1915FA14A81A8A85A7F8612B04F Ref B: CO6AA3150217025 Ref C: 2024-04-03T16:40:30Z' + status: 201 Created + code: 201 + duration: 1.237799225s + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe?api-version=2020-06-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 275 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe","name":"asotest-rg-cgtfbe","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "275" + Content-Type: + - application/json; charset=utf-8 + 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: B2F15C6DD2DD4BABA5078C7E18798050 Ref B: CO6AA3150217025 Ref C: 2024-04-03T16:40:32Z' + status: 200 OK + code: 200 + duration: 21.576049ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 291 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"asotest-mysql-sfeuuz","properties":{"administratorLogin":"myadmin","administratorLoginPassword":"{PASSWORD}","storage":{"storageSizeGB":128},"version":"8.0.21"},"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "291" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 58cd0f8a57c9cc253667b0a058460b7471c3a77283cc1676afc94efeceb72dd7 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz?api-version=2023-06-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 88 + uncompressed: false + body: '{"operation":"UpsertServerManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/436a3f65-2ba3-4465-8ba2-9965f2414bf5?api-version=2023-06-30&t=638477592390364233&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=a7GE17NRYoNsv35eDoauKJzUA6kAuWKVnaoZLnZ_GBkmLGiryos32Tv2oHHvK3F-QN3PVPpS7bE5tiFogPsK9MDEIx0nV9XJ-vmEaPqDzooMpeb5Q3FLATxOKm74DfVKHy9znYCjbKDfjS5fYj0kIO1LXFC4xrRp_EiPHg8XlhXfOM8d1XrmbTRU5vVeX1mRdCRh9kTqYbmJwsiim9qCdnFM8npz4-iIUsBK38Wfsev15OHNcngLlgMPGv1EzaVb26pfVHwULv1FSrCqaVEpxJWAY50NnWmaEYdmQsAjyh5JlRDc-17vbSlBp-Jh1XElbCeN096Wennz0MA0CmZrgw&h=xgiXx1nD6AtYN8R22LKA07GmUvQ7ToDGW-t7n182O4g + Cache-Control: + - no-cache + Content-Length: + - "88" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/436a3f65-2ba3-4465-8ba2-9965f2414bf5?api-version=2023-06-30&t=638477592390520389&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=vZjrUpursw7-PrpuzTPNEokN4EowA6rES63VsWhJ1wtH_DjK-auUrfWduaHtQ56bTfq0HH54-0EXWKr3DRIEmgfAV7ILaORDONcdGDHuqccfIkKhUAPVXvL57DT9AaAdH9mids2fwqqlb7Fz-xUJJnbZxoFCvf1l07Z_REJCLsyfAOmT4_ytFB6qT2RixrUuPt6PlaP-rXPQmN8MJvFTsxmtY2E8egPFou0w4LiseJrsU6AZMzemTsDCFyH9fJIwbvaHEAyAMjSy_x0CrkY6KC6IXXSsMB6m6bWhmlBBv4fmdgJ-xSXvEDRMOUmiiolMOcQBxYmDe-PRhtIx3ZB5ZA&h=bkPo-0x8aFQZbzVdskkT07l_h7-n4gnihfhUJx1A9co + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 17CE93682EF4437BB8EF1B1F2EB3A981 Ref B: CO6AA3150217025 Ref C: 2024-04-03T16:40:37Z' + status: 202 Accepted + code: 202 + duration: 1.281101536s + - id: 3 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/436a3f65-2ba3-4465-8ba2-9965f2414bf5?api-version=2023-06-30&t=638477592390364233&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=a7GE17NRYoNsv35eDoauKJzUA6kAuWKVnaoZLnZ_GBkmLGiryos32Tv2oHHvK3F-QN3PVPpS7bE5tiFogPsK9MDEIx0nV9XJ-vmEaPqDzooMpeb5Q3FLATxOKm74DfVKHy9znYCjbKDfjS5fYj0kIO1LXFC4xrRp_EiPHg8XlhXfOM8d1XrmbTRU5vVeX1mRdCRh9kTqYbmJwsiim9qCdnFM8npz4-iIUsBK38Wfsev15OHNcngLlgMPGv1EzaVb26pfVHwULv1FSrCqaVEpxJWAY50NnWmaEYdmQsAjyh5JlRDc-17vbSlBp-Jh1XElbCeN096Wennz0MA0CmZrgw&h=xgiXx1nD6AtYN8R22LKA07GmUvQ7ToDGW-t7n182O4g + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"436a3f65-2ba3-4465-8ba2-9965f2414bf5","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 066A68FAA8A8498D844931304AF4F5D7 Ref B: CO6AA3150217025 Ref C: 2024-04-03T16:40:42Z' + status: 200 OK + code: 200 + duration: 303.905598ms + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/436a3f65-2ba3-4465-8ba2-9965f2414bf5?api-version=2023-06-30&t=638477592390364233&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=a7GE17NRYoNsv35eDoauKJzUA6kAuWKVnaoZLnZ_GBkmLGiryos32Tv2oHHvK3F-QN3PVPpS7bE5tiFogPsK9MDEIx0nV9XJ-vmEaPqDzooMpeb5Q3FLATxOKm74DfVKHy9znYCjbKDfjS5fYj0kIO1LXFC4xrRp_EiPHg8XlhXfOM8d1XrmbTRU5vVeX1mRdCRh9kTqYbmJwsiim9qCdnFM8npz4-iIUsBK38Wfsev15OHNcngLlgMPGv1EzaVb26pfVHwULv1FSrCqaVEpxJWAY50NnWmaEYdmQsAjyh5JlRDc-17vbSlBp-Jh1XElbCeN096Wennz0MA0CmZrgw&h=xgiXx1nD6AtYN8R22LKA07GmUvQ7ToDGW-t7n182O4g + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"436a3f65-2ba3-4465-8ba2-9965f2414bf5","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 502AB579DF69493CA81B4FA346DC3433 Ref B: CO6AA3150217025 Ref C: 2024-04-03T16:41:43Z' + status: 200 OK + code: 200 + duration: 321.553762ms + - id: 5 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/436a3f65-2ba3-4465-8ba2-9965f2414bf5?api-version=2023-06-30&t=638477592390364233&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=a7GE17NRYoNsv35eDoauKJzUA6kAuWKVnaoZLnZ_GBkmLGiryos32Tv2oHHvK3F-QN3PVPpS7bE5tiFogPsK9MDEIx0nV9XJ-vmEaPqDzooMpeb5Q3FLATxOKm74DfVKHy9znYCjbKDfjS5fYj0kIO1LXFC4xrRp_EiPHg8XlhXfOM8d1XrmbTRU5vVeX1mRdCRh9kTqYbmJwsiim9qCdnFM8npz4-iIUsBK38Wfsev15OHNcngLlgMPGv1EzaVb26pfVHwULv1FSrCqaVEpxJWAY50NnWmaEYdmQsAjyh5JlRDc-17vbSlBp-Jh1XElbCeN096Wennz0MA0CmZrgw&h=xgiXx1nD6AtYN8R22LKA07GmUvQ7ToDGW-t7n182O4g + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"436a3f65-2ba3-4465-8ba2-9965f2414bf5","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 90791AE7D126497F90D5BB72C0B24C06 Ref B: CO6AA3150217025 Ref C: 2024-04-03T16:42:43Z' + status: 200 OK + code: 200 + duration: 649.313878ms + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/436a3f65-2ba3-4465-8ba2-9965f2414bf5?api-version=2023-06-30&t=638477592390364233&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=a7GE17NRYoNsv35eDoauKJzUA6kAuWKVnaoZLnZ_GBkmLGiryos32Tv2oHHvK3F-QN3PVPpS7bE5tiFogPsK9MDEIx0nV9XJ-vmEaPqDzooMpeb5Q3FLATxOKm74DfVKHy9znYCjbKDfjS5fYj0kIO1LXFC4xrRp_EiPHg8XlhXfOM8d1XrmbTRU5vVeX1mRdCRh9kTqYbmJwsiim9qCdnFM8npz4-iIUsBK38Wfsev15OHNcngLlgMPGv1EzaVb26pfVHwULv1FSrCqaVEpxJWAY50NnWmaEYdmQsAjyh5JlRDc-17vbSlBp-Jh1XElbCeN096Wennz0MA0CmZrgw&h=xgiXx1nD6AtYN8R22LKA07GmUvQ7ToDGW-t7n182O4g + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"436a3f65-2ba3-4465-8ba2-9965f2414bf5","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 9DF1854D23CE4B949398DD85ED40A1A9 Ref B: CO6AA3150217025 Ref C: 2024-04-03T16:44:38Z' + status: 200 OK + code: 200 + duration: 54.150742752s + - id: 7 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/436a3f65-2ba3-4465-8ba2-9965f2414bf5?api-version=2023-06-30&t=638477592390364233&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=a7GE17NRYoNsv35eDoauKJzUA6kAuWKVnaoZLnZ_GBkmLGiryos32Tv2oHHvK3F-QN3PVPpS7bE5tiFogPsK9MDEIx0nV9XJ-vmEaPqDzooMpeb5Q3FLATxOKm74DfVKHy9znYCjbKDfjS5fYj0kIO1LXFC4xrRp_EiPHg8XlhXfOM8d1XrmbTRU5vVeX1mRdCRh9kTqYbmJwsiim9qCdnFM8npz4-iIUsBK38Wfsev15OHNcngLlgMPGv1EzaVb26pfVHwULv1FSrCqaVEpxJWAY50NnWmaEYdmQsAjyh5JlRDc-17vbSlBp-Jh1XElbCeN096Wennz0MA0CmZrgw&h=xgiXx1nD6AtYN8R22LKA07GmUvQ7ToDGW-t7n182O4g + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"436a3f65-2ba3-4465-8ba2-9965f2414bf5","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 15A430F66920435995D1CE598ED12A9B Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:46:33Z' + status: 200 OK + code: 200 + duration: 376.108483ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1122 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","autoIoScaling":"Disabled","storageSku":"Premium_LRS","logOnDisk":"Disabled"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-sfeuuz.mysql.database.azure.com","availabilityZone":"3","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":7,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T16:50:43.0631388+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""},"privateEndpointConnections":[]},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz","name":"asotest-mysql-sfeuuz","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1122" + Content-Type: + - application/json; charset=utf-8 + 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: 9B0753074AAE41E3B4E088277151D289 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:46:34Z' + status: 200 OK + code: 200 + duration: 405.191559ms + - id: 9 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1122 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","autoIoScaling":"Disabled","storageSku":"Premium_LRS","logOnDisk":"Disabled"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-sfeuuz.mysql.database.azure.com","availabilityZone":"3","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":7,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T16:50:43.0631388+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""},"privateEndpointConnections":[]},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz","name":"asotest-mysql-sfeuuz","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1122" + Content-Type: + - application/json; charset=utf-8 + 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: DA3BBFBE550942C69ED1A8A07D7F2921 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:46:34Z' + status: 200 OK + code: 200 + duration: 302.23719ms + - id: 10 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 358 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"asotest-mysql-sfeuuz","properties":{"administratorLogin":"myadmin","administratorLoginPassword":"{PASSWORD}","backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled"},"storage":{"storageSizeGB":128},"version":"8.0.21"},"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "358" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - dee2dc52c890024c33b321d9192500974b208d3be96bde0b8352a128728fc58d + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz?api-version=2023-06-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 88 + uncompressed: false + body: '{"operation":"UpsertServerManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/4ef93c81-685c-4b8e-83be-c243b0f08403?api-version=2023-06-30&t=638477595979104086&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Yes0bXl7Zlsd6njZitGbu6ThjYWJdCmr8p9JtVv4KS7pOiNSNn_gbdwmcqV-waVRZdnAlHnm8306pgym6FzxKKDxuymIH96i7v3iOx2Zj1db-WaLrVLYmqJcA_0TaQKgc7JNCJlNw5UhFAVl01uvaVXZo3aHJezOk7khXC2rz7QmmsREuhzxSrJ_oS3OPXhaB1s5NFuK5ugOS0sFu_nOM8iGWSoSaF1CkTT4rxlOz2vlUi8fMPL0t-NdDoXai9GQsWlsYVUxRaRUfCY3A2s0EziWFDXih2zQo_XvvQQyQGBmS1BJIwBeAwEngMFgPQQPN2pUTR3mvM-8Uni2YkkbMA&h=aMFWq_S3ktJZO4blfbRDbYgaoNZDFODk4ke5bbtWdsg + Cache-Control: + - no-cache + Content-Length: + - "88" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/4ef93c81-685c-4b8e-83be-c243b0f08403?api-version=2023-06-30&t=638477595979260429&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Q__1SNptrUXFg96TYZdgwc_pTjurLEnrG0F_STHKfN2XjuhJZE4dvITg6hLyv81Hyxa_n_coxH2ovwnvsUKRTgedUY7k-zUtNSR8tDbnFsW815iLmO7rFd67W9YN4WIWY1dNK8G679KPJOIFLX1R-kD5CndvDXThPYdBfmGHXU-YyxL8WBWk_-uZHnRopel-DOYzOZGnofG9vf8gSIz0k9jHrXzPMyEsb8ecOaLmtOD38wTLI1zq8hsbkNv5Wjl18aaIfJ4zAbNWeJabVpFw7DCIh55srFvl5pgO38YllDtcrz6EqK_bzKo8u8W7D02GEgJi69g4U3GR30YCYRJ3mA&h=FbNRrVYeRqeu1T-riQezthsfmIYpAnRtAV_YE_ErO04 + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 92E93CA4BA9D457198453F981EB79B7E Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:46:37Z' + status: 202 Accepted + code: 202 + duration: 637.137366ms + - id: 11 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/4ef93c81-685c-4b8e-83be-c243b0f08403?api-version=2023-06-30&t=638477595979104086&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Yes0bXl7Zlsd6njZitGbu6ThjYWJdCmr8p9JtVv4KS7pOiNSNn_gbdwmcqV-waVRZdnAlHnm8306pgym6FzxKKDxuymIH96i7v3iOx2Zj1db-WaLrVLYmqJcA_0TaQKgc7JNCJlNw5UhFAVl01uvaVXZo3aHJezOk7khXC2rz7QmmsREuhzxSrJ_oS3OPXhaB1s5NFuK5ugOS0sFu_nOM8iGWSoSaF1CkTT4rxlOz2vlUi8fMPL0t-NdDoXai9GQsWlsYVUxRaRUfCY3A2s0EziWFDXih2zQo_XvvQQyQGBmS1BJIwBeAwEngMFgPQQPN2pUTR3mvM-8Uni2YkkbMA&h=aMFWq_S3ktJZO4blfbRDbYgaoNZDFODk4ke5bbtWdsg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"4ef93c81-685c-4b8e-83be-c243b0f08403","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: F585D19495374B479FCD9C5B1E1CA328 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:46:39Z' + status: 200 OK + code: 200 + duration: 336.603381ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/4ef93c81-685c-4b8e-83be-c243b0f08403?api-version=2023-06-30&t=638477595979104086&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Yes0bXl7Zlsd6njZitGbu6ThjYWJdCmr8p9JtVv4KS7pOiNSNn_gbdwmcqV-waVRZdnAlHnm8306pgym6FzxKKDxuymIH96i7v3iOx2Zj1db-WaLrVLYmqJcA_0TaQKgc7JNCJlNw5UhFAVl01uvaVXZo3aHJezOk7khXC2rz7QmmsREuhzxSrJ_oS3OPXhaB1s5NFuK5ugOS0sFu_nOM8iGWSoSaF1CkTT4rxlOz2vlUi8fMPL0t-NdDoXai9GQsWlsYVUxRaRUfCY3A2s0EziWFDXih2zQo_XvvQQyQGBmS1BJIwBeAwEngMFgPQQPN2pUTR3mvM-8Uni2YkkbMA&h=aMFWq_S3ktJZO4blfbRDbYgaoNZDFODk4ke5bbtWdsg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"4ef93c81-685c-4b8e-83be-c243b0f08403","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 69093CB1BFE24CBDBC67C1C033B20407 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:47:40Z' + status: 200 OK + code: 200 + duration: 151.476302ms + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1122 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","autoIoScaling":"Disabled","storageSku":"Premium_LRS","logOnDisk":"Disabled"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-sfeuuz.mysql.database.azure.com","availabilityZone":"3","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T16:46:28.7763989+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""},"privateEndpointConnections":[]},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz","name":"asotest-mysql-sfeuuz","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1122" + Content-Type: + - application/json; charset=utf-8 + 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: E54C81F227F645C585A5C22571A2C7D1 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:47:40Z' + status: 200 OK + code: 200 + duration: 520.23558ms + - id: 14 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1122 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","autoIoScaling":"Disabled","storageSku":"Premium_LRS","logOnDisk":"Disabled"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-sfeuuz.mysql.database.azure.com","availabilityZone":"3","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T16:46:28.7763989+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""},"privateEndpointConnections":[]},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz","name":"asotest-mysql-sfeuuz","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1122" + Content-Type: + - application/json; charset=utf-8 + 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: CB6A38BEE9F547C6BE50E0CA2219844D Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:47:41Z' + status: 200 OK + code: 200 + duration: 389.722934ms + - id: 15 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 48 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"asotest-mi-gzmilp"}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "48" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 26ac20c92744f4b05d76844040bd6f9436727987d38d7b3cb0d6767c6d3c4b6e + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-gzmilp?api-version=2018-11-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 453 + uncompressed: false + body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cgtfbe/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-gzmilp","name":"asotest-mi-gzmilp","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"9cc7f0a9-3ae5-4452-bccf-7987390ea2dd","clientId":"b03e935e-f27b-4a81-9e89-2033cb6780bd"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "453" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cgtfbe/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-gzmilp + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: D6CD52A405F4448C88142CE8C554361F Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:47:48Z' + status: 201 Created + code: 201 + duration: 2.011602545s + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 48 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"asotest-mi-gzmilp"}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "48" + Content-Type: + - application/json + Test-Request-Attempt: + - "1" + Test-Request-Hash: + - 26ac20c92744f4b05d76844040bd6f9436727987d38d7b3cb0d6767c6d3c4b6e + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-gzmilp?api-version=2018-11-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 453 + uncompressed: false + body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cgtfbe/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-gzmilp","name":"asotest-mi-gzmilp","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"9cc7f0a9-3ae5-4452-bccf-7987390ea2dd","clientId":"b03e935e-f27b-4a81-9e89-2033cb6780bd"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "453" + Content-Type: + - application/json; charset=utf-8 + 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: 0B21071B8FE84681A3ECEE4CE8967B1E Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:47:53Z' + status: 200 OK + code: 200 + duration: 282.381851ms + - id: 17 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-gzmilp?api-version=2018-11-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 453 + uncompressed: false + body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cgtfbe/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-gzmilp","name":"asotest-mi-gzmilp","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"9cc7f0a9-3ae5-4452-bccf-7987390ea2dd","clientId":"b03e935e-f27b-4a81-9e89-2033cb6780bd"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "453" + Content-Type: + - application/json; charset=utf-8 + 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: EBB9F625F2FE445F90F76C1C6C35BB58 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:47:54Z' + status: 200 OK + code: 200 + duration: 182.165185ms + - id: 18 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 587 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-gzmilp":{}}},"location":"eastus","name":"asotest-mysql-sfeuuz","properties":{"administratorLogin":"myadmin","administratorLoginPassword":"{PASSWORD}","backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled"},"storage":{"storageSizeGB":128},"version":"8.0.21"},"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "587" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 53d049c3d7ee482b735f53b5bf002b2cd59882ee342acda405476a20719f8684 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz?api-version=2023-06-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 87 + uncompressed: false + body: '{"operation":"UpsertServerManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/55cba002-cbae-47b1-80b8-8b7b39536e88?api-version=2023-06-30&t=638477596783952524&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=ivLJHVqko8BULyvG30WdKCa0coamWU_2AxzqSbJ4-tQOs7F36I1SPGXEL3yF8BZaRFnbR--DXEdhylQCZriwH6I8yQD4YioztGKJyyghHNodcRvQX-k6ZsoWhxe5ZenKUvSPIuW7H-419g52r7JkKzPNZ5x_FVpKrcBYHGQ1o0rlhxkwkVTHbjYd2HJlr4lRYTZ0z8P9PezbxIorV-A0NQheUdRg6eEoq0tJWCIf88DE20lmxN_ZcJI08gR21SUXuIRZAu9bMtNKOlIapgyIYiuL3v1GNO-NckSOghQxGKjBe0gyX0a1_4ajfFsV4hGBWsxaNZU11Kv374B0lVmHUQ&h=Z8Mx-EhTkPa7QDBHJYDCGY0BRq9dM-m4ix9tchh9P8Y + Cache-Control: + - no-cache + Content-Length: + - "87" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/55cba002-cbae-47b1-80b8-8b7b39536e88?api-version=2023-06-30&t=638477596783952524&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=xH8uptflWyxFd5MZhqnZqe__Nesc7jpSO4FM7Ut6sTpp0CdfqP9WpGv6wCvQGk82zBe--WtHGWLTcyJlYdZ-OS6O8xi7tSeclhflyRvNRN9XWzqunzJcXd5QKnr1iXl6RHsxo9ZsF8UoXoPbyfHIzAeUu2qZ3AqUwPYQFIMgUIYXbX8xd5UwOGmS1F7A-7cQ58zsfRaRo-yvVGvjCOG2OHAPKbtBdi5xJyq23H13zH-DFXH8YF3S32WggBx-ccXcRI62dRz63j0s2pUPhpH8unp0R1mT5znDlEP1xTssYB8b3ymy-yRncmUqfhJWpWnAW8gEae6JUHmKfWzunZTUbA&h=8ULuLflRwyKF7aJqyB_S826fQRKExY2j9kmi-OhnHqE + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: AB77E6EC42AF4A8880928C6A75CD960A Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:47:57Z' + status: 202 Accepted + code: 202 + duration: 885.332957ms + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/55cba002-cbae-47b1-80b8-8b7b39536e88?api-version=2023-06-30&t=638477596783952524&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=ivLJHVqko8BULyvG30WdKCa0coamWU_2AxzqSbJ4-tQOs7F36I1SPGXEL3yF8BZaRFnbR--DXEdhylQCZriwH6I8yQD4YioztGKJyyghHNodcRvQX-k6ZsoWhxe5ZenKUvSPIuW7H-419g52r7JkKzPNZ5x_FVpKrcBYHGQ1o0rlhxkwkVTHbjYd2HJlr4lRYTZ0z8P9PezbxIorV-A0NQheUdRg6eEoq0tJWCIf88DE20lmxN_ZcJI08gR21SUXuIRZAu9bMtNKOlIapgyIYiuL3v1GNO-NckSOghQxGKjBe0gyX0a1_4ajfFsV4hGBWsxaNZU11Kv374B0lVmHUQ&h=Z8Mx-EhTkPa7QDBHJYDCGY0BRq9dM-m4ix9tchh9P8Y + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"55cba002-cbae-47b1-80b8-8b7b39536e88","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 1876A799131A40FF90DB51F1A8987A42 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:48:00Z' + status: 200 OK + code: 200 + duration: 308.782022ms + - id: 20 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/55cba002-cbae-47b1-80b8-8b7b39536e88?api-version=2023-06-30&t=638477596783952524&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=ivLJHVqko8BULyvG30WdKCa0coamWU_2AxzqSbJ4-tQOs7F36I1SPGXEL3yF8BZaRFnbR--DXEdhylQCZriwH6I8yQD4YioztGKJyyghHNodcRvQX-k6ZsoWhxe5ZenKUvSPIuW7H-419g52r7JkKzPNZ5x_FVpKrcBYHGQ1o0rlhxkwkVTHbjYd2HJlr4lRYTZ0z8P9PezbxIorV-A0NQheUdRg6eEoq0tJWCIf88DE20lmxN_ZcJI08gR21SUXuIRZAu9bMtNKOlIapgyIYiuL3v1GNO-NckSOghQxGKjBe0gyX0a1_4ajfFsV4hGBWsxaNZU11Kv374B0lVmHUQ&h=Z8Mx-EhTkPa7QDBHJYDCGY0BRq9dM-m4ix9tchh9P8Y + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"55cba002-cbae-47b1-80b8-8b7b39536e88","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 186A1D5BF7FC4E9FB099E2688173D6B8 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:49:00Z' + status: 200 OK + code: 200 + duration: 307.126728ms + - id: 21 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1556 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cgtfbe/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-gzmilp":{"principalId":"9cc7f0a9-3ae5-4452-bccf-7987390ea2dd","tenantId":"00000000-0000-0000-0000-000000000000"}},"principalId":"00000000-0000-0000-0000-000000000000","type":"UserAssigned","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","autoIoScaling":"Disabled","storageSku":"Premium_LRS","logOnDisk":"Disabled"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-sfeuuz.mysql.database.azure.com","availabilityZone":"3","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T16:46:28.7763989+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""},"privateEndpointConnections":[]},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz","name":"asotest-mysql-sfeuuz","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1556" + Content-Type: + - application/json; charset=utf-8 + 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: F6F1C47C920A47CA96D3E3FAA1A04406 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:49:01Z' + status: 200 OK + code: 200 + duration: 419.58743ms + - id: 22 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1556 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cgtfbe/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-gzmilp":{"principalId":"9cc7f0a9-3ae5-4452-bccf-7987390ea2dd","tenantId":"00000000-0000-0000-0000-000000000000"}},"principalId":"00000000-0000-0000-0000-000000000000","type":"UserAssigned","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","autoIoScaling":"Disabled","storageSku":"Premium_LRS","logOnDisk":"Disabled"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-sfeuuz.mysql.database.azure.com","availabilityZone":"3","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T16:46:28.7763989+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""},"privateEndpointConnections":[]},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz","name":"asotest-mysql-sfeuuz","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1556" + Content-Type: + - application/json; charset=utf-8 + 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: 96A0094DF38E4AB2829539C43321FF57 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:49:02Z' + status: 200 OK + code: 200 + duration: 402.692585ms + - id: 23 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 387 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"ActiveDirectory","properties":{"administratorType":"ActiveDirectory","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-gzmilp","login":"asotest-mi-gzmilp","sid":"b03e935e-f27b-4a81-9e89-2033cb6780bd","tenantId":"00000000-0000-0000-0000-000000000000"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "387" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - e53f8e8c8a6d05a7c1ea3331b13d9bb113b465b3564ba218eb8cf6cd3dd97214 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/administrators/ActiveDirectory?api-version=2023-06-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"operation":"UpsertActiveDirectoryAdministratorManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/f4634881-4b30-4fd2-9665-931f62d7ea6d?api-version=2023-06-30&t=638477597491780836&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=eltagkwqdtNN13beiC62e-Udz6zfe1LVLvO_oiuZwHCGKCU69bcOg5fFefpNLaxoH9pamgAkXGlRhp68soJ0KWkiCkICUeUsE9s92eVX2XaVKL9AtMG_CAY2UjZ_8F_IXWZBgli7FPmlrTlL2KC2mzGxPvuu02CIzWBO3Q11K0KS6D1y3PzLUNnsMHhfYim_MWDaZUDJaqNRWDdLIRuINCyVTo03KKcZzzwvAO84goe7Bg96ToGgvDUTAfM4N3xzqKXEEgU1ZDd9eHAT6QKth3Mg6QAeIMh5GKzJnw91dNpnLDLM-fr6Yc1vpl9_msRO4RZ7ZFlGKarFr6Pxm35LhQ&h=-61zddjOJlquYW-cSaQ6hEHfZjDscRHfGJilVVYy5mk + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/f4634881-4b30-4fd2-9665-931f62d7ea6d?api-version=2023-06-30&t=638477597491780836&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=takjJlv_bXYJApouohb_hs8saSZ0NtxxZlEWqIoDrWvTDIUXVDbWE3znrs0Fwk2eADezESYbmsq0HWyFANmGMqkRCa_kHdofbGott3SAyPH2aK4e1icF4TNM26X3xUkbgP2tl10vPEpMAFE88OSIG2AJKzbc9u2D1K61VaiBi3tH0MTnGjyhrEfhNynvs8S87eUOZvb3ZF3rzlSV0r6P5LJpSx1zWPf3p-SziMD00XsyMgqL-nB_46Pda1-3LknWYxbnJ55nhwIWA9PEn98J8PZITDRJhptj74B0Ix_bdSa1gWioMFKrtRG7YxEijSOkXL-Ay-FCIA31YWu5VvsXWQ&h=zexaP-AQOuMCNxmRlRWKowc7WAffuDk1PELZwpTNWmU + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 09125170021041A399AFC850BADEBFB5 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:49:08Z' + status: 202 Accepted + code: 202 + duration: 475.312882ms + - id: 24 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/f4634881-4b30-4fd2-9665-931f62d7ea6d?api-version=2023-06-30&t=638477597491780836&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=eltagkwqdtNN13beiC62e-Udz6zfe1LVLvO_oiuZwHCGKCU69bcOg5fFefpNLaxoH9pamgAkXGlRhp68soJ0KWkiCkICUeUsE9s92eVX2XaVKL9AtMG_CAY2UjZ_8F_IXWZBgli7FPmlrTlL2KC2mzGxPvuu02CIzWBO3Q11K0KS6D1y3PzLUNnsMHhfYim_MWDaZUDJaqNRWDdLIRuINCyVTo03KKcZzzwvAO84goe7Bg96ToGgvDUTAfM4N3xzqKXEEgU1ZDd9eHAT6QKth3Mg6QAeIMh5GKzJnw91dNpnLDLM-fr6Yc1vpl9_msRO4RZ7ZFlGKarFr6Pxm35LhQ&h=-61zddjOJlquYW-cSaQ6hEHfZjDscRHfGJilVVYy5mk + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"f4634881-4b30-4fd2-9665-931f62d7ea6d","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: CC4168DC4E404B628CD31D55BDC1DF92 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:49:11Z' + status: 200 OK + code: 200 + duration: 260.130401ms + - id: 25 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/f4634881-4b30-4fd2-9665-931f62d7ea6d?api-version=2023-06-30&t=638477597491780836&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=eltagkwqdtNN13beiC62e-Udz6zfe1LVLvO_oiuZwHCGKCU69bcOg5fFefpNLaxoH9pamgAkXGlRhp68soJ0KWkiCkICUeUsE9s92eVX2XaVKL9AtMG_CAY2UjZ_8F_IXWZBgli7FPmlrTlL2KC2mzGxPvuu02CIzWBO3Q11K0KS6D1y3PzLUNnsMHhfYim_MWDaZUDJaqNRWDdLIRuINCyVTo03KKcZzzwvAO84goe7Bg96ToGgvDUTAfM4N3xzqKXEEgU1ZDd9eHAT6QKth3Mg6QAeIMh5GKzJnw91dNpnLDLM-fr6Yc1vpl9_msRO4RZ7ZFlGKarFr6Pxm35LhQ&h=-61zddjOJlquYW-cSaQ6hEHfZjDscRHfGJilVVYy5mk + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"f4634881-4b30-4fd2-9665-931f62d7ea6d","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: E466BCBE79AA4047B8A5387368F9C03B Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:50:12Z' + status: 200 OK + code: 200 + duration: 277.828857ms + - id: 26 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/administrators/ActiveDirectory?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 639 + uncompressed: false + body: '{"properties":{"administratorType":"ActiveDirectory","login":"asotest-mi-gzmilp","sid":"b03e935e-f27b-4a81-9e89-2033cb6780bd","tenantId":"00000000-0000-0000-0000-000000000000","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cgtfbe/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-gzmilp"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/administrators/ActiveDirectory","name":"ActiveDirectory","type":"Microsoft.DBforMySQL/flexibleServers/administrators"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "639" + Content-Type: + - application/json; charset=utf-8 + 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: 45FC6C01C9CB4B519091378075A41E1A Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:50:12Z' + status: 200 OK + code: 200 + duration: 1.396089004s + - id: 27 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/administrators/ActiveDirectory?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 639 + uncompressed: false + body: '{"properties":{"administratorType":"ActiveDirectory","login":"asotest-mi-gzmilp","sid":"b03e935e-f27b-4a81-9e89-2033cb6780bd","tenantId":"00000000-0000-0000-0000-000000000000","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-cgtfbe/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-gzmilp"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/administrators/ActiveDirectory","name":"ActiveDirectory","type":"Microsoft.DBforMySQL/flexibleServers/administrators"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "639" + Content-Type: + - application/json; charset=utf-8 + 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: C12792D8B04F4A6CAEE88D6B692C6C73 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:50:15Z' + status: 200 OK + code: 200 + duration: 1.203589981s + - id: 28 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/administrators/ActiveDirectory?api-version=2023-06-30 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"operation":"DropActiveDirectoryAdministratorManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/2bc02709-6c12-4335-ab01-54ba3eadb955?api-version=2023-06-30&t=638477598232283307&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=tzUNk5Y9YddNQPDOhZlxgyeuRIvCpf28ChXU8bPLKNlHTvnLVmNzD0uRYJ9g724Vs8InpFlTXHCkmg1VW15rnIkuTbJCUoD4NC1MJQWj4rprx3mQuCXovw1Pbp5n_rRhRzJgNvCnjszP_VgxUrD5fKrSjvc2DjZF4H0fnPfVeSCVJhtYPxQWStm8l1UELVIEIY1A85cVTNtmoQWfirU7JjiRpQRcBLy1C4GuN_fH7zg2YR5NuJY3qe0DtixNqf_rXUlslcNZotrA3arsbvb-_HM4LK-EGnL5m6Lyfke7f9j9Lgiwnsn6S5oVTZ7I0038h4RQ70kgllL4ZaOILPYvjA&h=_qPKZnt8yL7FmZRbXwEHd5A0vt3uSPEpvwnHzKhNp08 + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/2bc02709-6c12-4335-ab01-54ba3eadb955?api-version=2023-06-30&t=638477598232439396&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=lzz3P7vr2ePmhVMeaDMXwyUFtTGpckls1QwRAt1L-C0xRmtB_LvchmDNS_ETTDlRlFyF8gi8nfXm5IYk7Srl0aNQUCFElTfR1xDCsG9FIKRrupy1fkplLVOwgsTu9PeeRQL--MxVaInvi1FLBjvPjA2CO8Ci8midn9jhWzMdR3C_6byexbzHHFt7A22IzvtL5vXyt8MUe97zEz1JLlXx3GRH7uBWA1QR1T_eFBQVTrmABx49X590yxxra_gdsGP0eSf4WmXqqHqjTDccEAEn9A6d1ynzA59dvqfIXqeCC-Z-tk8Fk-TPyHISevqN-_QEVXzVIpFnAZYcDBQHhnINDQ&h=3mwXjgw6W4o5Tk0AjSi_h_XB7yh7UscmNCs0YRAGRWw + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: D588AD518D7F482AB1664CBB833AA276 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:50:22Z' + status: 202 Accepted + code: 202 + duration: 445.281915ms + - id: 29 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/2bc02709-6c12-4335-ab01-54ba3eadb955?api-version=2023-06-30&t=638477598232283307&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=tzUNk5Y9YddNQPDOhZlxgyeuRIvCpf28ChXU8bPLKNlHTvnLVmNzD0uRYJ9g724Vs8InpFlTXHCkmg1VW15rnIkuTbJCUoD4NC1MJQWj4rprx3mQuCXovw1Pbp5n_rRhRzJgNvCnjszP_VgxUrD5fKrSjvc2DjZF4H0fnPfVeSCVJhtYPxQWStm8l1UELVIEIY1A85cVTNtmoQWfirU7JjiRpQRcBLy1C4GuN_fH7zg2YR5NuJY3qe0DtixNqf_rXUlslcNZotrA3arsbvb-_HM4LK-EGnL5m6Lyfke7f9j9Lgiwnsn6S5oVTZ7I0038h4RQ70kgllL4ZaOILPYvjA&h=_qPKZnt8yL7FmZRbXwEHd5A0vt3uSPEpvwnHzKhNp08 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"2bc02709-6c12-4335-ab01-54ba3eadb955","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: DDDE60A859D842F1830C7F3801F7FDB6 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:51:23Z' + status: 200 OK + code: 200 + duration: 254.5227ms + - id: 30 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 79 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"max_connections","properties":{"source":"user-override","value":"20"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "79" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - b2de8c2d080b5500f2922ac481bfb2d6653a302197a52e0d055740cb3138943f + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/configurations/max_connections?api-version=2023-06-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 97 + uncompressed: false + body: '{"operation":"UpdateServerParameterManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/e48c6b01-50df-47b8-a4ca-e02ae2174881?api-version=2023-06-30&t=638477598894243783&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=o0nonXLDEWJoNepZ4Wlf_YOu8U1EjhmZTLMLshxx_uhlM-UHEHhKpAE1MSN4JrVmvph-DvVeSmaVZ8Rv-KNxU8OUiNFik1nNEsK1cGRWSFDGXKJocpBzBKeG0Hzf6Rbkhrg7J3eTPZnpaRuwG4twSntoRd24RdVnfRf2JaxmzzWFkjbanpdr9aG7NURUMDjvi8AbqfCtOO5715CXL67D9t8S7wajY1d9pwwaBcdgTVfF4Al8dBdruMf9jwjjsLnGAUUYa23fkskZRy_QFyKgUUxrrxPZKmS826G2fb00FPd75WZ0U8EFmbZJ8Sses12MpV7duG-5-jNX4wn-HjJKnQ&h=fHRJx8Q-zxiHL34pU6hIAFvxNhTNf_W7dudtg7zczew + Cache-Control: + - no-cache + Content-Length: + - "97" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/e48c6b01-50df-47b8-a4ca-e02ae2174881?api-version=2023-06-30&t=638477598894400624&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=gCyJRKtEeBv3LB1cPpO1heh5Ar6BRvykgI27V3BIYNaU_-btJxjhxB6uI8BElRcMjX6rDebF6RDW2O1_n0jgTQitLiOQmzRP7_w23wyL3NI9Cj5TeAU-3qMJdSjdzXvs5NBsuApQNA181CzBgrOqKdMc1KcyGeVQloo3U77pB2fDGq6PWYLN3u3g0L3J2a9qxUn2iApXWgNQx_fVbUnLNuzfQHjVje2ZGtqAAEyVtVWumb2EtK0l0oMpxiM9jukd_XEoaX0YNlEJOVQM9Duwot_yt45vgeH9fxG4IC_qsXg038S2cs3FtHOI2h1SY3tGZDx1KdomEQbBD3TM9ikBZA&h=bTPKRCtxCWZhru4J80vjI3KhreAnYLaWp78gO2lFk0M + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 65F201EF51774D18BD6AE6BE056E00B3 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:51:28Z' + status: 202 Accepted + code: 202 + duration: 479.463521ms + - id: 31 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 99 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"asotest-fwrule-xxbhxj","properties":{"endIpAddress":"1.2.3.4","startIpAddress":"1.2.3.4"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "99" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - bf7f007137a5ad1a7774a2c137ad5f756dd0855adc1d9e4603cad8645ac3f6b8 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/firewallRules/asotest-fwrule-xxbhxj?api-version=2023-06-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 99 + uncompressed: false + body: '{"operation":"UpsertServerFirewallRulesManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/a79ca48b-1e98-4913-87c4-0847cd2a2230?api-version=2023-06-30&t=638477598894357989&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=HSeU_uZZmYGCuhS_EytE8To5Yoxz6uYdgELHDptB6GhEgmUeEwjTVkT16djMfjcxaRLLdemsLMEIXOL6Xe7zH11uqfMXS6GgEIOwJ1NIAde4AqWmd_3j3Dk_JVIeC9b4VtWnJKBYEQJL0l8z3QIflyNGvpOba9Burr_cSvmllTD0RerX-gBBzQE6EzRZ3P2o-H7aRkSgg5FEl7bcUh_C_BecwHITwlRxZfZZz3kVRzbiep_nwwXu77tcZhp8psMWydbHf8NZ2DKmK82WzUgvqw3ywqvDJ-SKSfUO8HInYYL3JRty3i9tIMk1w9NlZ5gFgtN2URc1gSQvJGB-NhYlUw&h=Bi8xfFB57FbyMCaksVhxAdVTYlw9XDA1Dm4qxftMd78 + Cache-Control: + - no-cache + Content-Length: + - "99" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/a79ca48b-1e98-4913-87c4-0847cd2a2230?api-version=2023-06-30&t=638477598894357989&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=I541DTGTdZrzVSvpqL2BaAj6FrUkrdViJ5hU6U_nvWAiTA7bN75z8HsaoMRtJUciQejdXsM1USTA1-dR6vzb5UwwHgzNkz_A_ztjQcLyx6564i7Jd6Frkfu_srfUI4UrjgJZSwifs5_i55xUZUNlec6LqgoNnDgxVEklDRJsJJ0hZxMUEA_DNllIin0F1EUCiyxq99Gxficypa_rwMuPxLSJWjvrA_QnMr4Sdq7FydWNGuKxjeS98Yah3V6k3xH1A6a7KQwwoCUGZvRR2eivzqpA86ek1nun69lkbDW-s368D3ubelWo8C597MLx9Dm2MipuYz0krr9NtaBlhTEZLQ&h=B_oj-wcnBXCDKOAwW-EQDTGewqGN4OUFfiZkUNzKofM + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 0519E75A314745A49E474078036F1F78 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:51:28Z' + status: 202 Accepted + code: 202 + duration: 483.253631ms + - id: 32 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 61 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"asotestdbulypar","properties":{"charset":"utf8mb4"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "61" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - e14b2af8566ed19c12efbac157c2e2fd147ba91a5dccd545ba7d17dc1a65129e + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/databases/asotestdbulypar?api-version=2023-06-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 93 + uncompressed: false + body: '{"operation":"UpsertServerDatabaseManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb561007-fd9b-472f-a7ad-9fe89bcbb063?api-version=2023-06-30&t=638477598894411847&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=jZWorG_EMdp0ofQ209kP8QswVuTcI_obO9bHlaqiE2TO8KP7wsWaOmR97E8ymuu-QAcov9iugWgZP28D4xEwuCbMvKKvdK9xoA8vkahrxGHc0YkQYin1Ita5OXHDbgeCdrPnud50rj5ib1FwichQtIDZvV6OwpybX5JYjTnkDsOg7V3c8dmQWytxN4N06yRJd1J-FVwvwjCv5NGMqfTPqjHl39WdVkQf4hfZIXLs4jR29AR1XSEPHVJ520znYw_NqYPMGoZ9Kid-eq10POUkJWjBdQ4yOm7g8iDRZXxyihOvoB8k94MYvh_KTlEZwz-kZ7j8BcN9hLznIxDYM44wWA&h=5I67FtEXdCkJIA5TpeVmVfL7zvMDshl5MoUhd2_X1kU + Cache-Control: + - no-cache + Content-Length: + - "93" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/bb561007-fd9b-472f-a7ad-9fe89bcbb063?api-version=2023-06-30&t=638477598894567778&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=EKADL_zsH6TJjiXWdxdJuR6o3Bb5KmHc4lEGviISBAwmgSdOMaZ3S8GdGxnAY6UjWerfDSyRlIdhLXpdtVj3BFTmiSls6l1lTZ5p6xgkXEPvdXuMhqxQDvshZ95qZDCUdkJKQ88OQdeAOLnQDWrVRrMNufDsoyha-wwQ36ePtrmHv-VC8WI1STzBKCKkDhtS4coB_x1EfZ29mKk4GhEBWidJ1sLIj5C9tq3y1trZHXv_Rb5RLrq8dKvbBAHVcXIcfVYs9xD3XT7us1bdiJvDJpK8_MJhe6EYMCvKcHxcq6DOIOG-YZJtG_ZWk5ijKaO4QfmPbu1SkFysZieSF-KKZA&h=wZvu12KKWtGFpogEMmXurdDkIMCrt6c-rJnJjqxvAt8 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 3A92C743A831426D8021B00A4B71AECC Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:51:28Z' + status: 202 Accepted + code: 202 + duration: 501.963582ms + - id: 33 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb561007-fd9b-472f-a7ad-9fe89bcbb063?api-version=2023-06-30&t=638477598894411847&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=jZWorG_EMdp0ofQ209kP8QswVuTcI_obO9bHlaqiE2TO8KP7wsWaOmR97E8ymuu-QAcov9iugWgZP28D4xEwuCbMvKKvdK9xoA8vkahrxGHc0YkQYin1Ita5OXHDbgeCdrPnud50rj5ib1FwichQtIDZvV6OwpybX5JYjTnkDsOg7V3c8dmQWytxN4N06yRJd1J-FVwvwjCv5NGMqfTPqjHl39WdVkQf4hfZIXLs4jR29AR1XSEPHVJ520znYw_NqYPMGoZ9Kid-eq10POUkJWjBdQ4yOm7g8iDRZXxyihOvoB8k94MYvh_KTlEZwz-kZ7j8BcN9hLznIxDYM44wWA&h=5I67FtEXdCkJIA5TpeVmVfL7zvMDshl5MoUhd2_X1kU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"bb561007-fd9b-472f-a7ad-9fe89bcbb063","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 81F9B396430C443C9E34A1AF0F6CAC7F Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:51:32Z' + status: 200 OK + code: 200 + duration: 252.956397ms + - id: 34 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/a79ca48b-1e98-4913-87c4-0847cd2a2230?api-version=2023-06-30&t=638477598894357989&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=HSeU_uZZmYGCuhS_EytE8To5Yoxz6uYdgELHDptB6GhEgmUeEwjTVkT16djMfjcxaRLLdemsLMEIXOL6Xe7zH11uqfMXS6GgEIOwJ1NIAde4AqWmd_3j3Dk_JVIeC9b4VtWnJKBYEQJL0l8z3QIflyNGvpOba9Burr_cSvmllTD0RerX-gBBzQE6EzRZ3P2o-H7aRkSgg5FEl7bcUh_C_BecwHITwlRxZfZZz3kVRzbiep_nwwXu77tcZhp8psMWydbHf8NZ2DKmK82WzUgvqw3ywqvDJ-SKSfUO8HInYYL3JRty3i9tIMk1w9NlZ5gFgtN2URc1gSQvJGB-NhYlUw&h=Bi8xfFB57FbyMCaksVhxAdVTYlw9XDA1Dm4qxftMd78 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"a79ca48b-1e98-4913-87c4-0847cd2a2230","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 9A0E923106444595B6D3AFA027629374 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:51:31Z' + status: 200 OK + code: 200 + duration: 328.788506ms + - id: 35 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/e48c6b01-50df-47b8-a4ca-e02ae2174881?api-version=2023-06-30&t=638477598894243783&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=o0nonXLDEWJoNepZ4Wlf_YOu8U1EjhmZTLMLshxx_uhlM-UHEHhKpAE1MSN4JrVmvph-DvVeSmaVZ8Rv-KNxU8OUiNFik1nNEsK1cGRWSFDGXKJocpBzBKeG0Hzf6Rbkhrg7J3eTPZnpaRuwG4twSntoRd24RdVnfRf2JaxmzzWFkjbanpdr9aG7NURUMDjvi8AbqfCtOO5715CXL67D9t8S7wajY1d9pwwaBcdgTVfF4Al8dBdruMf9jwjjsLnGAUUYa23fkskZRy_QFyKgUUxrrxPZKmS826G2fb00FPd75WZ0U8EFmbZJ8Sses12MpV7duG-5-jNX4wn-HjJKnQ&h=fHRJx8Q-zxiHL34pU6hIAFvxNhTNf_W7dudtg7zczew + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"e48c6b01-50df-47b8-a4ca-e02ae2174881","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 48ADBA5A57FB4FE4A7E7F84073F3B7D3 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:51:31Z' + status: 200 OK + code: 200 + duration: 873.633106ms + - id: 36 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/configurations/max_connections?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 694 + uncompressed: false + body: '{"properties":{"value":"20","currentValue":"20","description":"The maximum permitted number of simultaneous client connections.","defaultValue":"1365","dataType":"Integer","allowedValues":"10-2731","source":"user-override","isConfigPendingRestart":"False","isDynamicConfig":"True","isReadOnly":"False","documentationLink":"https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/configurations/max_connections","name":"max_connections","type":"Microsoft.DBforMySQL/flexibleServers/configurations"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "694" + Content-Type: + - application/json; charset=utf-8 + 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: 95A5A60918574E95B5EC077C41769B60 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:51:33Z' + status: 200 OK + code: 200 + duration: 1.285718743s + - id: 37 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/configurations/max_connections?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 694 + uncompressed: false + body: '{"properties":{"value":"20","currentValue":"20","description":"The maximum permitted number of simultaneous client connections.","defaultValue":"1365","dataType":"Integer","allowedValues":"10-2731","source":"user-override","isConfigPendingRestart":"False","isDynamicConfig":"True","isReadOnly":"False","documentationLink":"https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/configurations/max_connections","name":"max_connections","type":"Microsoft.DBforMySQL/flexibleServers/configurations"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "694" + Content-Type: + - application/json; charset=utf-8 + 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: D5295B58CD104079A49C8C3B53AB7F0B Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:51:36Z' + status: 200 OK + code: 200 + duration: 1.166938617s + - id: 38 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb561007-fd9b-472f-a7ad-9fe89bcbb063?api-version=2023-06-30&t=638477598894411847&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=jZWorG_EMdp0ofQ209kP8QswVuTcI_obO9bHlaqiE2TO8KP7wsWaOmR97E8ymuu-QAcov9iugWgZP28D4xEwuCbMvKKvdK9xoA8vkahrxGHc0YkQYin1Ita5OXHDbgeCdrPnud50rj5ib1FwichQtIDZvV6OwpybX5JYjTnkDsOg7V3c8dmQWytxN4N06yRJd1J-FVwvwjCv5NGMqfTPqjHl39WdVkQf4hfZIXLs4jR29AR1XSEPHVJ520znYw_NqYPMGoZ9Kid-eq10POUkJWjBdQ4yOm7g8iDRZXxyihOvoB8k94MYvh_KTlEZwz-kZ7j8BcN9hLznIxDYM44wWA&h=5I67FtEXdCkJIA5TpeVmVfL7zvMDshl5MoUhd2_X1kU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"bb561007-fd9b-472f-a7ad-9fe89bcbb063","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: BF131F1080AD4F939882DE0964617F8C Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:51:47Z' + status: 200 OK + code: 200 + duration: 264.049828ms + - id: 39 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb561007-fd9b-472f-a7ad-9fe89bcbb063?api-version=2023-06-30&t=638477598894411847&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=jZWorG_EMdp0ofQ209kP8QswVuTcI_obO9bHlaqiE2TO8KP7wsWaOmR97E8ymuu-QAcov9iugWgZP28D4xEwuCbMvKKvdK9xoA8vkahrxGHc0YkQYin1Ita5OXHDbgeCdrPnud50rj5ib1FwichQtIDZvV6OwpybX5JYjTnkDsOg7V3c8dmQWytxN4N06yRJd1J-FVwvwjCv5NGMqfTPqjHl39WdVkQf4hfZIXLs4jR29AR1XSEPHVJ520znYw_NqYPMGoZ9Kid-eq10POUkJWjBdQ4yOm7g8iDRZXxyihOvoB8k94MYvh_KTlEZwz-kZ7j8BcN9hLznIxDYM44wWA&h=5I67FtEXdCkJIA5TpeVmVfL7zvMDshl5MoUhd2_X1kU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"bb561007-fd9b-472f-a7ad-9fe89bcbb063","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 5000483B7CCA48D09A582C76F1D8D628 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:52:03Z' + status: 200 OK + code: 200 + duration: 261.860024ms + - id: 40 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb561007-fd9b-472f-a7ad-9fe89bcbb063?api-version=2023-06-30&t=638477598894411847&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=jZWorG_EMdp0ofQ209kP8QswVuTcI_obO9bHlaqiE2TO8KP7wsWaOmR97E8ymuu-QAcov9iugWgZP28D4xEwuCbMvKKvdK9xoA8vkahrxGHc0YkQYin1Ita5OXHDbgeCdrPnud50rj5ib1FwichQtIDZvV6OwpybX5JYjTnkDsOg7V3c8dmQWytxN4N06yRJd1J-FVwvwjCv5NGMqfTPqjHl39WdVkQf4hfZIXLs4jR29AR1XSEPHVJ520znYw_NqYPMGoZ9Kid-eq10POUkJWjBdQ4yOm7g8iDRZXxyihOvoB8k94MYvh_KTlEZwz-kZ7j8BcN9hLznIxDYM44wWA&h=5I67FtEXdCkJIA5TpeVmVfL7zvMDshl5MoUhd2_X1kU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"bb561007-fd9b-472f-a7ad-9fe89bcbb063","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: F85BB923FB5646E9A9D2DCAF04309C5A Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:52:18Z' + status: 200 OK + code: 200 + duration: 264.284532ms + - id: 41 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/a79ca48b-1e98-4913-87c4-0847cd2a2230?api-version=2023-06-30&t=638477598894357989&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=HSeU_uZZmYGCuhS_EytE8To5Yoxz6uYdgELHDptB6GhEgmUeEwjTVkT16djMfjcxaRLLdemsLMEIXOL6Xe7zH11uqfMXS6GgEIOwJ1NIAde4AqWmd_3j3Dk_JVIeC9b4VtWnJKBYEQJL0l8z3QIflyNGvpOba9Burr_cSvmllTD0RerX-gBBzQE6EzRZ3P2o-H7aRkSgg5FEl7bcUh_C_BecwHITwlRxZfZZz3kVRzbiep_nwwXu77tcZhp8psMWydbHf8NZ2DKmK82WzUgvqw3ywqvDJ-SKSfUO8HInYYL3JRty3i9tIMk1w9NlZ5gFgtN2URc1gSQvJGB-NhYlUw&h=Bi8xfFB57FbyMCaksVhxAdVTYlw9XDA1Dm4qxftMd78 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"a79ca48b-1e98-4913-87c4-0847cd2a2230","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: EC6B7D3D1BD4442DB4AF80B43209357C Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:52:32Z' + status: 200 OK + code: 200 + duration: 257.972016ms + - id: 42 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/firewallRules/asotest-fwrule-xxbhxj?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 355 + uncompressed: false + body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.4"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/firewallRules/asotest-fwrule-xxbhxj","name":"asotest-fwrule-xxbhxj","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "355" + Content-Type: + - application/json; charset=utf-8 + 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: 2702FA59AC9A4957AA285932EF378453 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:52:33Z' + status: 200 OK + code: 200 + duration: 181.087903ms + - id: 43 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/firewallRules/asotest-fwrule-xxbhxj?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 355 + uncompressed: false + body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.4"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/firewallRules/asotest-fwrule-xxbhxj","name":"asotest-fwrule-xxbhxj","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "355" + Content-Type: + - application/json; charset=utf-8 + 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: C4094EC28CA24ABB97F5C30E4C99489F Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:52:33Z' + status: 200 OK + code: 200 + duration: 335.967732ms + - id: 44 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb561007-fd9b-472f-a7ad-9fe89bcbb063?api-version=2023-06-30&t=638477598894411847&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=jZWorG_EMdp0ofQ209kP8QswVuTcI_obO9bHlaqiE2TO8KP7wsWaOmR97E8ymuu-QAcov9iugWgZP28D4xEwuCbMvKKvdK9xoA8vkahrxGHc0YkQYin1Ita5OXHDbgeCdrPnud50rj5ib1FwichQtIDZvV6OwpybX5JYjTnkDsOg7V3c8dmQWytxN4N06yRJd1J-FVwvwjCv5NGMqfTPqjHl39WdVkQf4hfZIXLs4jR29AR1XSEPHVJ520znYw_NqYPMGoZ9Kid-eq10POUkJWjBdQ4yOm7g8iDRZXxyihOvoB8k94MYvh_KTlEZwz-kZ7j8BcN9hLznIxDYM44wWA&h=5I67FtEXdCkJIA5TpeVmVfL7zvMDshl5MoUhd2_X1kU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"bb561007-fd9b-472f-a7ad-9fe89bcbb063","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: FE86E33483D24D5CA257DC28630D6DD2 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:52:34Z' + status: 200 OK + code: 200 + duration: 257.152014ms + - id: 45 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 99 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"asotest-fwrule-xxbhxj","properties":{"endIpAddress":"1.2.3.5","startIpAddress":"1.2.3.4"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "99" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - f60a4fba24206931f896141e23d95291aa31109e71532acf97c0b3579aaffceb + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/firewallRules/asotest-fwrule-xxbhxj?api-version=2023-06-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 99 + uncompressed: false + body: '{"operation":"UpsertServerFirewallRulesManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/2b3785a5-ac9f-418e-a252-e370ec6e62b2?api-version=2023-06-30&t=638477599585665378&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=0VzxKwCbTJ5SaI4OuZGyxa5IZiff4EuLa1UC3qi6fj_gQLKZRFPCSbNZ4MgjrJrm4ZN8a3ti0vsChdhivH7Z00rPW3eTlTBNa4kgbGZDbP1u4OvE8UntT13xSIYeRn2KwJesxUtDn47R9kgyWs9ibacygvjCpNbYeD7BOw8cnrrvt9v1rQCZsO_aWaGFv_9No0dC5syO0faHN4KFyEQLKBgo0Sj70bsTfMDYVff-Z0evzlwP3q-J0AHNAxcwZyFtJ7xr_q6_M2xdfIIV7HKn3-B4C605y5KqkCCjRWNIY-a9vIokl7CWlWFKhg62j7JDNvTcQu7usRYER0sHFQWhzA&h=NGnldo05z9_py5yNfE0bG6nix5wkJSJlhazo0t9HGTg + Cache-Control: + - no-cache + Content-Length: + - "99" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/2b3785a5-ac9f-418e-a252-e370ec6e62b2?api-version=2023-06-30&t=638477599585665378&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=cgwRzd1L2Bvnb7pvPlNKx4n4DGn3yeakdPsGdbPk6tuN_5KzvpoDOPw434bmLcluWkyLe6jtgOGn23jp3y2POrig1a7i8oYTuQgwO0MeYzRtO18pKYwjhSIcdU_s0msXodlucN3lsJcahHHTFopcEvEMSrfwYGDMQwPSVu0mhMu9-Ao-nlKBKiaDyL10zzOaaw0DI39d1bIAPzW9mfmp_MsZOeqUq7m3cvwNtDOEacHvnevoQljFObQGzFXGxhtQ1UMIa7RBOvmqPa9pJj5I_UYCGj1_MCwajW2Iu50URBGQYAcb4EeS9R6VNhbRpbIvntzl9X5dBIw7VrSzad94hQ&h=XktNIXWyVQ_WQZu2nhYLAFTiySgU5S298KwfiZNeYgM + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 23D6097D2DE9406AB0267FD726E16AE4 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:52:38Z' + status: 202 Accepted + code: 202 + duration: 546.227116ms + - id: 46 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/2b3785a5-ac9f-418e-a252-e370ec6e62b2?api-version=2023-06-30&t=638477599585665378&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=0VzxKwCbTJ5SaI4OuZGyxa5IZiff4EuLa1UC3qi6fj_gQLKZRFPCSbNZ4MgjrJrm4ZN8a3ti0vsChdhivH7Z00rPW3eTlTBNa4kgbGZDbP1u4OvE8UntT13xSIYeRn2KwJesxUtDn47R9kgyWs9ibacygvjCpNbYeD7BOw8cnrrvt9v1rQCZsO_aWaGFv_9No0dC5syO0faHN4KFyEQLKBgo0Sj70bsTfMDYVff-Z0evzlwP3q-J0AHNAxcwZyFtJ7xr_q6_M2xdfIIV7HKn3-B4C605y5KqkCCjRWNIY-a9vIokl7CWlWFKhg62j7JDNvTcQu7usRYER0sHFQWhzA&h=NGnldo05z9_py5yNfE0bG6nix5wkJSJlhazo0t9HGTg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"2b3785a5-ac9f-418e-a252-e370ec6e62b2","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: DC4EC433B7CF428DA0AA8E197EDC98B8 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:52:40Z' + status: 200 OK + code: 200 + duration: 470.208606ms + - id: 47 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb561007-fd9b-472f-a7ad-9fe89bcbb063?api-version=2023-06-30&t=638477598894411847&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=jZWorG_EMdp0ofQ209kP8QswVuTcI_obO9bHlaqiE2TO8KP7wsWaOmR97E8ymuu-QAcov9iugWgZP28D4xEwuCbMvKKvdK9xoA8vkahrxGHc0YkQYin1Ita5OXHDbgeCdrPnud50rj5ib1FwichQtIDZvV6OwpybX5JYjTnkDsOg7V3c8dmQWytxN4N06yRJd1J-FVwvwjCv5NGMqfTPqjHl39WdVkQf4hfZIXLs4jR29AR1XSEPHVJ520znYw_NqYPMGoZ9Kid-eq10POUkJWjBdQ4yOm7g8iDRZXxyihOvoB8k94MYvh_KTlEZwz-kZ7j8BcN9hLznIxDYM44wWA&h=5I67FtEXdCkJIA5TpeVmVfL7zvMDshl5MoUhd2_X1kU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"bb561007-fd9b-472f-a7ad-9fe89bcbb063","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 8C652A3913F94E58BC223003914E3BE8 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:52:49Z' + status: 200 OK + code: 200 + duration: 253.095104ms + - id: 48 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb561007-fd9b-472f-a7ad-9fe89bcbb063?api-version=2023-06-30&t=638477598894411847&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=jZWorG_EMdp0ofQ209kP8QswVuTcI_obO9bHlaqiE2TO8KP7wsWaOmR97E8ymuu-QAcov9iugWgZP28D4xEwuCbMvKKvdK9xoA8vkahrxGHc0YkQYin1Ita5OXHDbgeCdrPnud50rj5ib1FwichQtIDZvV6OwpybX5JYjTnkDsOg7V3c8dmQWytxN4N06yRJd1J-FVwvwjCv5NGMqfTPqjHl39WdVkQf4hfZIXLs4jR29AR1XSEPHVJ520znYw_NqYPMGoZ9Kid-eq10POUkJWjBdQ4yOm7g8iDRZXxyihOvoB8k94MYvh_KTlEZwz-kZ7j8BcN9hLznIxDYM44wWA&h=5I67FtEXdCkJIA5TpeVmVfL7zvMDshl5MoUhd2_X1kU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"bb561007-fd9b-472f-a7ad-9fe89bcbb063","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: DDE613EFD25B4EF5B59628191BC63553 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:53:05Z' + status: 200 OK + code: 200 + duration: 476.640927ms + - id: 49 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb561007-fd9b-472f-a7ad-9fe89bcbb063?api-version=2023-06-30&t=638477598894411847&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=jZWorG_EMdp0ofQ209kP8QswVuTcI_obO9bHlaqiE2TO8KP7wsWaOmR97E8ymuu-QAcov9iugWgZP28D4xEwuCbMvKKvdK9xoA8vkahrxGHc0YkQYin1Ita5OXHDbgeCdrPnud50rj5ib1FwichQtIDZvV6OwpybX5JYjTnkDsOg7V3c8dmQWytxN4N06yRJd1J-FVwvwjCv5NGMqfTPqjHl39WdVkQf4hfZIXLs4jR29AR1XSEPHVJ520znYw_NqYPMGoZ9Kid-eq10POUkJWjBdQ4yOm7g8iDRZXxyihOvoB8k94MYvh_KTlEZwz-kZ7j8BcN9hLznIxDYM44wWA&h=5I67FtEXdCkJIA5TpeVmVfL7zvMDshl5MoUhd2_X1kU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"bb561007-fd9b-472f-a7ad-9fe89bcbb063","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 5F29C0B771314985B53B8E3B999E3F52 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:53:21Z' + status: 200 OK + code: 200 + duration: 263.116134ms + - id: 50 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "8" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/bb561007-fd9b-472f-a7ad-9fe89bcbb063?api-version=2023-06-30&t=638477598894411847&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=jZWorG_EMdp0ofQ209kP8QswVuTcI_obO9bHlaqiE2TO8KP7wsWaOmR97E8ymuu-QAcov9iugWgZP28D4xEwuCbMvKKvdK9xoA8vkahrxGHc0YkQYin1Ita5OXHDbgeCdrPnud50rj5ib1FwichQtIDZvV6OwpybX5JYjTnkDsOg7V3c8dmQWytxN4N06yRJd1J-FVwvwjCv5NGMqfTPqjHl39WdVkQf4hfZIXLs4jR29AR1XSEPHVJ520znYw_NqYPMGoZ9Kid-eq10POUkJWjBdQ4yOm7g8iDRZXxyihOvoB8k94MYvh_KTlEZwz-kZ7j8BcN9hLznIxDYM44wWA&h=5I67FtEXdCkJIA5TpeVmVfL7zvMDshl5MoUhd2_X1kU + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"bb561007-fd9b-472f-a7ad-9fe89bcbb063","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 6AB7AAA650CD4153A8A05072E5B7CB68 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:53:36Z' + status: 200 OK + code: 200 + duration: 1.274173059s + - id: 51 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/databases/asotestdbulypar?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 336 + uncompressed: false + body: '{"properties":{"charset":"utf8mb4","collation":"utf8mb4_0900_ai_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/databases/asotestdbulypar","name":"asotestdbulypar","type":"Microsoft.DBforMySQL/flexibleServers/databases"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "336" + Content-Type: + - application/json; charset=utf-8 + 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: 2EA569A31157439899BA0638AD54250C Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:53:39Z' + status: 200 OK + code: 200 + duration: 983.068546ms + - id: 52 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/2b3785a5-ac9f-418e-a252-e370ec6e62b2?api-version=2023-06-30&t=638477599585665378&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=0VzxKwCbTJ5SaI4OuZGyxa5IZiff4EuLa1UC3qi6fj_gQLKZRFPCSbNZ4MgjrJrm4ZN8a3ti0vsChdhivH7Z00rPW3eTlTBNa4kgbGZDbP1u4OvE8UntT13xSIYeRn2KwJesxUtDn47R9kgyWs9ibacygvjCpNbYeD7BOw8cnrrvt9v1rQCZsO_aWaGFv_9No0dC5syO0faHN4KFyEQLKBgo0Sj70bsTfMDYVff-Z0evzlwP3q-J0AHNAxcwZyFtJ7xr_q6_M2xdfIIV7HKn3-B4C605y5KqkCCjRWNIY-a9vIokl7CWlWFKhg62j7JDNvTcQu7usRYER0sHFQWhzA&h=NGnldo05z9_py5yNfE0bG6nix5wkJSJlhazo0t9HGTg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"2b3785a5-ac9f-418e-a252-e370ec6e62b2","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 06742B7ED57A4EA9AE9588914B451B24 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:53:41Z' + status: 200 OK + code: 200 + duration: 289.182108ms + - id: 53 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/databases/asotestdbulypar?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 336 + uncompressed: false + body: '{"properties":{"charset":"utf8mb4","collation":"utf8mb4_0900_ai_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/databases/asotestdbulypar","name":"asotestdbulypar","type":"Microsoft.DBforMySQL/flexibleServers/databases"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "336" + Content-Type: + - application/json; charset=utf-8 + 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: 0C1BE4D0EA1845579679AAD03AA607CF Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:53:41Z' + status: 200 OK + code: 200 + duration: 1.580798218s + - id: 54 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/databases/asotestdbulypar?api-version=2023-06-30 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 92 + uncompressed: false + body: '{"operation":"DropServerDatabaseManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/32e94ebc-1ccb-49ef-b8d3-9b370346df8e?api-version=2023-06-30&t=638477600286015440&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Z7GLeIb2Kab_r4EEa-h5nsgp4oGGA9etCU8PBr_cBgrOykDMDoPuWnnh6WHmlYw0q903J26f6OLwDVzUiBJzpo5-sGWAUIGGCT0EJB56oK4zR5QgaGNoLfH2tGksGYZKgx_YwOcMc6EYWR2xC27RigzIxA3jbv7lY8U5cdjpykNS6MBM_HXNmE_eVYC4rqiEy4vmrKcooNqEqJZqggW0IvrmKG3cUYd9r1yff2FJ-OUBy4duKyczeJwWmgKk9gFVy0XbFg6n1sr5IXJyVcNLanIl6OyuwDbYJiHON-pES9veEFAiaqcYu5IorzGWp70LgMY1_MofTaUAETSOl2jUeA&h=WcRkF0ik5ls_z409i7jGejIlr6_Go8AQ9VXRw_QeYmI + Cache-Control: + - no-cache + Content-Length: + - "92" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/32e94ebc-1ccb-49ef-b8d3-9b370346df8e?api-version=2023-06-30&t=638477600286015440&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=tI3Y1h4bO1Ls6yqfa1U6wNe8yt9ngQG-Ez5scs2W-R40FmbpqenSvOMf2oeqefLPx2wY9hQZPSePMeC-F0sbl8DDzAtinGdbHgy5aAWa2rLXs0tyQ-U7Hb-ORu3wPR4AUssNXWc1FXsnpb477eB2VrSpImTA8eYbZMIdjR_fiV13F-0992sUsEnIRewTH09ElxuMPIXGJaJhZGaLDhuDEtIQguM7qftTY2kqzw69gFqgn3daRp7FdexIDzslW_1tbQNuLgcEeE2NitS76ulG9lcfRVyhIA0OA_0OvlqQuQU11_VGREdYDzSnRSFY_puprmyUSX4p2fN6nublMD2A2g&h=12V21Z6rlepejjQpoWG4zbVDxPIT6MvZRM_sSoNdm6g + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 9A74268CEB204F7B81DDA0269EFACF19 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:53:48Z' + status: 202 Accepted + code: 202 + duration: 510.638328ms + - id: 55 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/32e94ebc-1ccb-49ef-b8d3-9b370346df8e?api-version=2023-06-30&t=638477600286015440&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Z7GLeIb2Kab_r4EEa-h5nsgp4oGGA9etCU8PBr_cBgrOykDMDoPuWnnh6WHmlYw0q903J26f6OLwDVzUiBJzpo5-sGWAUIGGCT0EJB56oK4zR5QgaGNoLfH2tGksGYZKgx_YwOcMc6EYWR2xC27RigzIxA3jbv7lY8U5cdjpykNS6MBM_HXNmE_eVYC4rqiEy4vmrKcooNqEqJZqggW0IvrmKG3cUYd9r1yff2FJ-OUBy4duKyczeJwWmgKk9gFVy0XbFg6n1sr5IXJyVcNLanIl6OyuwDbYJiHON-pES9veEFAiaqcYu5IorzGWp70LgMY1_MofTaUAETSOl2jUeA&h=WcRkF0ik5ls_z409i7jGejIlr6_Go8AQ9VXRw_QeYmI + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"32e94ebc-1ccb-49ef-b8d3-9b370346df8e","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: ED6118B5CED94FC39C0E32DBDCB34899 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:54:04Z' + status: 200 OK + code: 200 + duration: 311.902873ms + - id: 56 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/2b3785a5-ac9f-418e-a252-e370ec6e62b2?api-version=2023-06-30&t=638477599585665378&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=0VzxKwCbTJ5SaI4OuZGyxa5IZiff4EuLa1UC3qi6fj_gQLKZRFPCSbNZ4MgjrJrm4ZN8a3ti0vsChdhivH7Z00rPW3eTlTBNa4kgbGZDbP1u4OvE8UntT13xSIYeRn2KwJesxUtDn47R9kgyWs9ibacygvjCpNbYeD7BOw8cnrrvt9v1rQCZsO_aWaGFv_9No0dC5syO0faHN4KFyEQLKBgo0Sj70bsTfMDYVff-Z0evzlwP3q-J0AHNAxcwZyFtJ7xr_q6_M2xdfIIV7HKn3-B4C605y5KqkCCjRWNIY-a9vIokl7CWlWFKhg62j7JDNvTcQu7usRYER0sHFQWhzA&h=NGnldo05z9_py5yNfE0bG6nix5wkJSJlhazo0t9HGTg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"2b3785a5-ac9f-418e-a252-e370ec6e62b2","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 4FF91241E3664B70A8E611C796118C25 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:54:41Z' + status: 200 OK + code: 200 + duration: 291.417619ms + - id: 57 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/firewallRules/asotest-fwrule-xxbhxj?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 355 + uncompressed: false + body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.5"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/firewallRules/asotest-fwrule-xxbhxj","name":"asotest-fwrule-xxbhxj","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "355" + Content-Type: + - application/json; charset=utf-8 + 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: 1625FADBF56C4C59B03C85DADBFC3714 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:54:42Z' + status: 200 OK + code: 200 + duration: 210.814493ms + - id: 58 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/firewallRules/asotest-fwrule-xxbhxj?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 355 + uncompressed: false + body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.5"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/firewallRules/asotest-fwrule-xxbhxj","name":"asotest-fwrule-xxbhxj","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "355" + Content-Type: + - application/json; charset=utf-8 + 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: 4951C876960B456B93622FAFA2D1B6E0 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:54:42Z' + status: 200 OK + code: 200 + duration: 326.140016ms + - id: 59 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/firewallRules/asotest-fwrule-xxbhxj?api-version=2023-06-30 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 96 + uncompressed: false + body: '{"operation":"DropServerFirewallRulesManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/06589630-661f-476e-97ff-acae74223d97?api-version=2023-06-30&t=638477600887580615&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Flhm6hsrbtIRqboMBTuhx1Y_XZlj73PY8rmGRdU5QMpOsThoASWqTsHZbtGt2owpJqrO2VSa7dMg-pxzOPKykiRynaAv0NL3SOhp1eIuEGskk5zcTQWxezRZDGCc-BwT-NyVfVm0rqn7tCuss8ETBr_4BLSMTap8bayPWO0GGYHKWqpoz9NYYVTVaWTijiVeJ5TXxpJA-NBbodU-bCEdTPua0GeKnzJj7kBfgierDVTIiRs3X9LnfmLVyeTPbWLt36kR5KB0_W2_PwAcjr7uLwwldbnDMzdpgGIV1AR0vm3NuSYl0FwUdd9S2UuSdtG1aBvfBfOo70nBraOjW-MuLQ&h=OTaOMS-onuZQSXdS8QU9eQMW4P569MhRMg4WKIaubqI + Cache-Control: + - no-cache + Content-Length: + - "96" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/06589630-661f-476e-97ff-acae74223d97?api-version=2023-06-30&t=638477600887580615&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=HNEFWcqProh6L8Y83rmgpwiklYNrD7aVua8mwmOjPcnYUa2e2dkcXxUvsTDbpd9cc9cJDcRkgsLHx7Gck7gVGiXr7RotF6K9rfoR_9ClAFlj9t1R7Ux_DzU3MAPRYAOnCD6oSu2HcGJt-KvIVvsMbVnWgnVvaQzodHjK4_6V1AjZBkyKGbC-vh3Pd6COx684KxYPI2ZkLSTdxJTkTUjI-0BokxQq2s8OISKXkWZDbYC1HQu48_JodSGKx6EpczbVSv-uRyvWV8yiMkpmU5KyTIwfLh_GwNNY2-QMyMi6PgKGkWVk15spNKFl5dYumE1FgVC9hy-WAX7Yszz-cTzXhw&h=c2ByyzW9-et5zcSbr9DFTesu4mhUcshcuq-hQXT0yHk + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 836352C67A4D45AF8D353191783A000E Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:54:48Z' + status: 202 Accepted + code: 202 + duration: 549.300844ms + - id: 60 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/06589630-661f-476e-97ff-acae74223d97?api-version=2023-06-30&t=638477600887580615&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Flhm6hsrbtIRqboMBTuhx1Y_XZlj73PY8rmGRdU5QMpOsThoASWqTsHZbtGt2owpJqrO2VSa7dMg-pxzOPKykiRynaAv0NL3SOhp1eIuEGskk5zcTQWxezRZDGCc-BwT-NyVfVm0rqn7tCuss8ETBr_4BLSMTap8bayPWO0GGYHKWqpoz9NYYVTVaWTijiVeJ5TXxpJA-NBbodU-bCEdTPua0GeKnzJj7kBfgierDVTIiRs3X9LnfmLVyeTPbWLt36kR5KB0_W2_PwAcjr7uLwwldbnDMzdpgGIV1AR0vm3NuSYl0FwUdd9S2UuSdtG1aBvfBfOo70nBraOjW-MuLQ&h=OTaOMS-onuZQSXdS8QU9eQMW4P569MhRMg4WKIaubqI + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"06589630-661f-476e-97ff-acae74223d97","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: CDE23594F43148C3A34075FA455B3A0F Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:55:49Z' + status: 200 OK + code: 200 + duration: 269.693662ms + - id: 61 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz?api-version=2023-06-30 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 84 + uncompressed: false + body: '{"operation":"DropServerManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/East%20US/azureAsyncOperation/6bb54a04-51a9-4f10-b665-56b68f29c673?api-version=2023-06-30&t=638477601537912115&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=jmqpQN9rtmc84sz6dWkEKkalss9caXuOkY4dtThLpzNHBLL8dw29rMOgH4pPmYFVDX_TqnvY5i6JQvKeJ6j4dhXQZ3UYNK01ABY9_45FIEHTK7m58tHQ49E1fMCHxH-jOZK7qLo_prRNj8LIGTHfqo6Zl0WVlWEK9xkXc78zMvlnfl1U9Gpd9h74XRX1I2Ut4nCvW5WPMAkfUNmZ73H2P5V44n9sZL03SKkULAo43MARI0c6ONldN-Jtl7crfX89cI-ELijXolI3CrQMBdugoL6_ob5750rW1PqiqHnT2z7Q7K1QbxDaY1FVTHB_309xX3FTa6ThpDKcGnLVGfLRWA&h=hV-pgDgMBs8W7wqxlY9VqPGAMN20OSIbEaGnYKEUpBc + Cache-Control: + - no-cache + Content-Length: + - "84" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/East%20US/operationResults/6bb54a04-51a9-4f10-b665-56b68f29c673?api-version=2023-06-30&t=638477601538068376&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=zYggMomQcCQZqU6_g8t4t0ieRGHeJT2ZNqIXVYoDAln4oqdTJI6njfp0WB5YQDKKZI1y1ghHzrC0bFB5ZvrJPJmsiYpqIQ_8PWmvw5czNS20el9Lq62NWilgX_m4911jJfa4LcIXtl01IbGmLtDj-eX6HwHvbmZHw7XsbK5FXrk1SOgy64hI36phu0Os8Xk0hwGf3MWV4pFch9BvOU7QsaIeaJWK9MKDk5HLEwQpVkLprhzEaJxt6Dq7d0w72FC_jBEaaUu7ZbE1WOo-EzeN3Hcz1Ku6q_EjAfWIpljvTnM9XNr22uStn7oFGbGxO46Am03WdFv8-kvw-rGVer3Y_g&h=pzo3fueTYgIUFDLDe9yzv3jmqW4juD-TzDEenJLCUKE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: D8652F2D81614E16B655D3A9AB569DA7 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:55:53Z' + status: 202 Accepted + code: 202 + duration: 465.187415ms + - id: 62 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/East%20US/azureAsyncOperation/6bb54a04-51a9-4f10-b665-56b68f29c673?api-version=2023-06-30&t=638477601537912115&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=jmqpQN9rtmc84sz6dWkEKkalss9caXuOkY4dtThLpzNHBLL8dw29rMOgH4pPmYFVDX_TqnvY5i6JQvKeJ6j4dhXQZ3UYNK01ABY9_45FIEHTK7m58tHQ49E1fMCHxH-jOZK7qLo_prRNj8LIGTHfqo6Zl0WVlWEK9xkXc78zMvlnfl1U9Gpd9h74XRX1I2Ut4nCvW5WPMAkfUNmZ73H2P5V44n9sZL03SKkULAo43MARI0c6ONldN-Jtl7crfX89cI-ELijXolI3CrQMBdugoL6_ob5750rW1PqiqHnT2z7Q7K1QbxDaY1FVTHB_309xX3FTa6ThpDKcGnLVGfLRWA&h=hV-pgDgMBs8W7wqxlY9VqPGAMN20OSIbEaGnYKEUpBc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"6bb54a04-51a9-4f10-b665-56b68f29c673","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: B15AFDE2A1D64A76A519F345C8E7FDD5 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:56:09Z' + status: 200 OK + code: 200 + duration: 259.023033ms + - id: 63 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/East%20US/azureAsyncOperation/6bb54a04-51a9-4f10-b665-56b68f29c673?api-version=2023-06-30&t=638477601537912115&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=jmqpQN9rtmc84sz6dWkEKkalss9caXuOkY4dtThLpzNHBLL8dw29rMOgH4pPmYFVDX_TqnvY5i6JQvKeJ6j4dhXQZ3UYNK01ABY9_45FIEHTK7m58tHQ49E1fMCHxH-jOZK7qLo_prRNj8LIGTHfqo6Zl0WVlWEK9xkXc78zMvlnfl1U9Gpd9h74XRX1I2Ut4nCvW5WPMAkfUNmZ73H2P5V44n9sZL03SKkULAo43MARI0c6ONldN-Jtl7crfX89cI-ELijXolI3CrQMBdugoL6_ob5750rW1PqiqHnT2z7Q7K1QbxDaY1FVTHB_309xX3FTa6ThpDKcGnLVGfLRWA&h=hV-pgDgMBs8W7wqxlY9VqPGAMN20OSIbEaGnYKEUpBc + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"6bb54a04-51a9-4f10-b665-56b68f29c673","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: F16A47995E97407B8915252181C6ED69 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:56:24Z' + status: 200 OK + code: 200 + duration: 251.048911ms + - id: 64 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 246 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz'' under resource group ''asotest-rg-cgtfbe'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "246" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: B3FF0185F0844D6E946205CC7BACCA95 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:56:28Z' + status: 404 Not Found + code: 404 + duration: 84.89804ms + - id: 65 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe?api-version=2020-06-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477601900486173&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=hTvBMuBp-8yBllGYpQqtQuuFqUQz1jxGZs1UAPTYO2IFNsm-ADM7WTSSDAKiUaqEGNuIpoHfFLbGw5z7YFupgLgf7CD5KSdDus0o3wKFzDURNf310i-2Ld-hqsMKGkWhvPn5poyAyMGr-G6YEHjZHN2vVuRQBM79B2N0AxXRj0Cf7-6a3RoNA6stxmdEND0IN6IXck5OQuT0awk02LlWXPgEmxOFYR-moHCHZbMSQ8jjyUg3b5v663ubwHsDJAC1kSrm9GCEXLmNcUWxehYD0RAFOSZqdUej6EyJgDSyc7vavTnFweXbzP7-IRWZpU6W92zkGnGMI7UHx-Lt-2j82w&h=Ti2GTq7Stw8zmKvII1EP-UM6TjmepoqzirOCwGeT9F4 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: A82BD55B746F4077A1BCEC80F81B1BBF Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:56:28Z' + status: 202 Accepted + code: 202 + duration: 1.481770098s + - id: 66 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477601900486173&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=hTvBMuBp-8yBllGYpQqtQuuFqUQz1jxGZs1UAPTYO2IFNsm-ADM7WTSSDAKiUaqEGNuIpoHfFLbGw5z7YFupgLgf7CD5KSdDus0o3wKFzDURNf310i-2Ld-hqsMKGkWhvPn5poyAyMGr-G6YEHjZHN2vVuRQBM79B2N0AxXRj0Cf7-6a3RoNA6stxmdEND0IN6IXck5OQuT0awk02LlWXPgEmxOFYR-moHCHZbMSQ8jjyUg3b5v663ubwHsDJAC1kSrm9GCEXLmNcUWxehYD0RAFOSZqdUej6EyJgDSyc7vavTnFweXbzP7-IRWZpU6W92zkGnGMI7UHx-Lt-2j82w&h=Ti2GTq7Stw8zmKvII1EP-UM6TjmepoqzirOCwGeT9F4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477602068725996&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=WzYp5BFfJ061nab8OjVEx8VESdSmvz0Mki8XhFhb9GmD4Veqh_59wvoxh2CIFmjmlNayC-in6MnHMF87mckxzpl8GKzgi5eM89-9v5GsZ5cnsDSmgOxIA92qLUuOkJx3O5ll5l7w2BS9dmvwb7KeUQF8Uq6lzA1Pa-cOFfHs3ZiKYeynE_iCXAsSc2Sqhha-Qhgw2rfRni-MkDKlB3yXPNhEW4HPhHn1xPXZ_Q1co9zFQOgragVjrQ7xIjyK1dezxo-RuzwnZOeaWTNgAEsNK3rm-sL4-Or2vmtFoLTL9cq-6WHiDz6U7vM1zModX8DLn5fDhfzqaTugvXsK6r0qAw&h=Tlt1mgqyVaykpvJpA023Pl6w5ep0VH6rb_wQ9Atb4MM + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 66C04C1CCB794C0FBB1EF79A09141791 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:56:46Z' + status: 202 Accepted + code: 202 + duration: 292.789131ms + - id: 67 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477601900486173&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=hTvBMuBp-8yBllGYpQqtQuuFqUQz1jxGZs1UAPTYO2IFNsm-ADM7WTSSDAKiUaqEGNuIpoHfFLbGw5z7YFupgLgf7CD5KSdDus0o3wKFzDURNf310i-2Ld-hqsMKGkWhvPn5poyAyMGr-G6YEHjZHN2vVuRQBM79B2N0AxXRj0Cf7-6a3RoNA6stxmdEND0IN6IXck5OQuT0awk02LlWXPgEmxOFYR-moHCHZbMSQ8jjyUg3b5v663ubwHsDJAC1kSrm9GCEXLmNcUWxehYD0RAFOSZqdUej6EyJgDSyc7vavTnFweXbzP7-IRWZpU6W92zkGnGMI7UHx-Lt-2j82w&h=Ti2GTq7Stw8zmKvII1EP-UM6TjmepoqzirOCwGeT9F4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477602223138448&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=royDsvRQdu58DaM-9g5xGACPQG1_qcsPrD0t2GEpN4tOG1RWz4M_Ux94gSlgudjtK4fOkEysntn3Qn7M_ZQlZ2843aVV_n3Qwfk6lRkAgmFgyFsifuYx_THAIe-1UKn_Sc3MZpJeHON_1RqdEoVVRcKUNB1-fZt9eOj-2AtTknH5OXZDMAGhLMigFWz-mEmxRQFKJ_JTCSkg4lkHMYG99Uwr3DaWJusPGbmV5N25i2XXNqqNRXgU1dE61pmqdQadbwBqa4ZnxPn89OmocqY8aIiDMgUXzNKSP9RVSV0HsSRI-wrRsNDn1oWNAj9_l95Cl2quHAVHunAYPU9HkO0AuQ&h=VjDizjXjCHgJH_-uuTMMzD7WY8T8pkq3AOeAY14e91Q + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 6C87DE504E8649909BFCA587EF79A56A Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:57:02Z' + status: 202 Accepted + code: 202 + duration: 147.124817ms + - id: 68 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477601900486173&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=hTvBMuBp-8yBllGYpQqtQuuFqUQz1jxGZs1UAPTYO2IFNsm-ADM7WTSSDAKiUaqEGNuIpoHfFLbGw5z7YFupgLgf7CD5KSdDus0o3wKFzDURNf310i-2Ld-hqsMKGkWhvPn5poyAyMGr-G6YEHjZHN2vVuRQBM79B2N0AxXRj0Cf7-6a3RoNA6stxmdEND0IN6IXck5OQuT0awk02LlWXPgEmxOFYR-moHCHZbMSQ8jjyUg3b5v663ubwHsDJAC1kSrm9GCEXLmNcUWxehYD0RAFOSZqdUej6EyJgDSyc7vavTnFweXbzP7-IRWZpU6W92zkGnGMI7UHx-Lt-2j82w&h=Ti2GTq7Stw8zmKvII1EP-UM6TjmepoqzirOCwGeT9F4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477602377769681&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=LXRyW6rH1cZf3Dz-_3Hcv9rSOdP51mDmFnENBAzgSP2Kf2LEun0dkumYWIs3gh8lYrqkUSAabXcQ95AXIqF7cMAkDGUO9QtGuUod_e5IcfxwEDbjQoxKMLpXir6xLfw5kcZCB2Sja308nyns5gHdcTmhAgVsqLJHLdS-TdybSP6t1KpF_lPbTKB6ClrAgwDyJaH3jvWU3Nki7kp5GTMT5ROSk9tMz2i82PNT2eh9JMhO1k1gj7VV38CxfACOy7Y1P72Tu_GJibPVmIMHOlxCUCUX-SLKHwa4eFj502d4MYGmwDGThpHo7r0wlHMk9L_O2rJKWAlWNIKt_ZTjbe2P2Q&h=J9h2cCFMnYRQmueGJlacU8PAeIrV4YuXP16-9fNsObw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: E8C75B2A98DA4AA8A7FFF32129B9356C Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:57:17Z' + status: 202 Accepted + code: 202 + duration: 311.887187ms + - id: 69 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477601900486173&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=hTvBMuBp-8yBllGYpQqtQuuFqUQz1jxGZs1UAPTYO2IFNsm-ADM7WTSSDAKiUaqEGNuIpoHfFLbGw5z7YFupgLgf7CD5KSdDus0o3wKFzDURNf310i-2Ld-hqsMKGkWhvPn5poyAyMGr-G6YEHjZHN2vVuRQBM79B2N0AxXRj0Cf7-6a3RoNA6stxmdEND0IN6IXck5OQuT0awk02LlWXPgEmxOFYR-moHCHZbMSQ8jjyUg3b5v663ubwHsDJAC1kSrm9GCEXLmNcUWxehYD0RAFOSZqdUej6EyJgDSyc7vavTnFweXbzP7-IRWZpU6W92zkGnGMI7UHx-Lt-2j82w&h=Ti2GTq7Stw8zmKvII1EP-UM6TjmepoqzirOCwGeT9F4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477602532295652&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=ozmbekYtRe0noF3IIET8GEcJFLh9Dk9VOW7dg7L1OhKSVpZoIc-hA7OwA4pQvOfOv2APHxKFP671FBRGutK2BJs4g76sZvlHuQIg6WdEmZn090RPCU7vEujGZtwSqrXHoGaO3f17PQBCJaYrCnuhQVq93C0Jy0ZZT2FSgMIy-BBML12s2nq6ZzTndUsLV0xaaPD361mPif3AlinOkBaYkyLiklJJRTnjpGeJgy3RKBkD4sjur261I7X21eg18WoSfUCi69SImPAQaCNxxMIs-eLbaA57sHLD8RTwhHd7lkA2yF3P-1mFMkpDKf-KWZpHzXT01FRhrcnIxu2Jev8g_A&h=ZxOC_hqF9YReHAU9cSDH8MvE5cNfsZJl31K4DZjeCZw + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: B892585EC72A4B7A90600D6696B8DB09 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:57:33Z' + status: 202 Accepted + code: 202 + duration: 148.581123ms + - id: 70 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477601900486173&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=hTvBMuBp-8yBllGYpQqtQuuFqUQz1jxGZs1UAPTYO2IFNsm-ADM7WTSSDAKiUaqEGNuIpoHfFLbGw5z7YFupgLgf7CD5KSdDus0o3wKFzDURNf310i-2Ld-hqsMKGkWhvPn5poyAyMGr-G6YEHjZHN2vVuRQBM79B2N0AxXRj0Cf7-6a3RoNA6stxmdEND0IN6IXck5OQuT0awk02LlWXPgEmxOFYR-moHCHZbMSQ8jjyUg3b5v663ubwHsDJAC1kSrm9GCEXLmNcUWxehYD0RAFOSZqdUej6EyJgDSyc7vavTnFweXbzP7-IRWZpU6W92zkGnGMI7UHx-Lt-2j82w&h=Ti2GTq7Stw8zmKvII1EP-UM6TjmepoqzirOCwGeT9F4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477602685475757&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=P3i7K-0kwd7q0lh45BkSwB_O2GWgMPw8ykgXxPABGdRF7f8T3Bs-pblcQsuvwE58BmxQMwIq8vzvIe6T6k9N8G2DA1x2AUB7XahBRfKXVINsVrCrmRq8SSwcdOik7aBDXnBsMqFUa1KSeoM2LD3sOj5T3EG2JpyL9RxTWVTy80GhuXXQYpQTH8i7Ys1Uc3clsx3HnPWMPbBtm07EtxPaJATKM8ckhe0s5IfZMrNnOINCh3g-jCOgIXLOlCgfsaXyqXeKnuvhJzz8RkDT8rzagjU4R3VzIFwdsTG2_jFZPUs2dnK9h71feH8i7oPlatn4VVkwZpIyRxhuio-6e1zUcw&h=EooyXH0wXqNfw723anAYz3mJhVdUJCzbHlIa3L2zoHo + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 4BBE739BE6EE46529FB1C9B547ABA13F Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:57:48Z' + status: 202 Accepted + code: 202 + duration: 147.31842ms + - id: 71 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477601900486173&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=hTvBMuBp-8yBllGYpQqtQuuFqUQz1jxGZs1UAPTYO2IFNsm-ADM7WTSSDAKiUaqEGNuIpoHfFLbGw5z7YFupgLgf7CD5KSdDus0o3wKFzDURNf310i-2Ld-hqsMKGkWhvPn5poyAyMGr-G6YEHjZHN2vVuRQBM79B2N0AxXRj0Cf7-6a3RoNA6stxmdEND0IN6IXck5OQuT0awk02LlWXPgEmxOFYR-moHCHZbMSQ8jjyUg3b5v663ubwHsDJAC1kSrm9GCEXLmNcUWxehYD0RAFOSZqdUej6EyJgDSyc7vavTnFweXbzP7-IRWZpU6W92zkGnGMI7UHx-Lt-2j82w&h=Ti2GTq7Stw8zmKvII1EP-UM6TjmepoqzirOCwGeT9F4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477602838685444&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=VjZXT78f8zueMAF1EXTOHITjF7NVQnUwqnnO0BejrLCTU7HvBVI1cnQLlZ-QDJMXaEoq-wDuaN3mJMt6BZWiChCW7NjJyothLCoLXFBguYbqfMZ1woMfBnRuF9AGFXNbJKGu-f8GcW2L5Ay9T43Dl8iWfZvlcrJzEof1-WUqlHYaW0s2T4Zaic9ZQIdA_a0wS0XdA_-kRzFCS68PhrqYTphMM-iqVFm_uxzbB09q221vyhPJoVr2324qbYJfA834LRcoT5hrnIgMgyf5Ig0zMh4XR7AfZVF_FwGaDFYPsRwyVLaPeSgjZNtp5ZeuMdbigfwrC7PNu-Z3hrkVn1c3pw&h=CjPMw9bJfOcyTPHAHsHsIYTToDnS8nnEDJA6JEyL7OE + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: EBEA83581ED547C482AF99BF0AB0E30C Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:58:03Z' + status: 202 Accepted + code: 202 + duration: 151.686932ms + - id: 72 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477601900486173&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=hTvBMuBp-8yBllGYpQqtQuuFqUQz1jxGZs1UAPTYO2IFNsm-ADM7WTSSDAKiUaqEGNuIpoHfFLbGw5z7YFupgLgf7CD5KSdDus0o3wKFzDURNf310i-2Ld-hqsMKGkWhvPn5poyAyMGr-G6YEHjZHN2vVuRQBM79B2N0AxXRj0Cf7-6a3RoNA6stxmdEND0IN6IXck5OQuT0awk02LlWXPgEmxOFYR-moHCHZbMSQ8jjyUg3b5v663ubwHsDJAC1kSrm9GCEXLmNcUWxehYD0RAFOSZqdUej6EyJgDSyc7vavTnFweXbzP7-IRWZpU6W92zkGnGMI7UHx-Lt-2j82w&h=Ti2GTq7Stw8zmKvII1EP-UM6TjmepoqzirOCwGeT9F4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477602993282730&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=wK9vo2_JX6_HkUawV075JS_2MYdaGdIiV6RUrpu_QBKgHUjdfx_EySjgoOH86hOXlU22j2tfkQDFgzMioXNXPs7dN4ad3FQjUfs5Kh095OXK15Y9FpRlKr8sCYR51-KJPzxlT3_4ShJVd1Ay0uFOVIE-Lq89n_ugiscAD4hUrTbI9unWIfkIF_xSJ1cXvbB8EIsR_7PjNUgmlMxYZDFHMjalfDMCC5qePz_0h8bQn20RbEFmC4oba1FXGjkkBGnj9_468l2dgNx6Qx93uRiDhknNhjwlP2pEtfkd_UyYwvolZlkNphVf4TemulVhmLwXri_4v-vGPLU2mAurBdJU9A&h=CMu1PbUFW1ni8bI6DWXlAqVfSaBQ40d5kNW0xYCU0So + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: F957B3E8479742D98A5CDEE5BABB81FB Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:58:19Z' + status: 202 Accepted + code: 202 + duration: 309.067382ms + - id: 73 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRDR1RGQkUtRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01&t=638477601900486173&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=hTvBMuBp-8yBllGYpQqtQuuFqUQz1jxGZs1UAPTYO2IFNsm-ADM7WTSSDAKiUaqEGNuIpoHfFLbGw5z7YFupgLgf7CD5KSdDus0o3wKFzDURNf310i-2Ld-hqsMKGkWhvPn5poyAyMGr-G6YEHjZHN2vVuRQBM79B2N0AxXRj0Cf7-6a3RoNA6stxmdEND0IN6IXck5OQuT0awk02LlWXPgEmxOFYR-moHCHZbMSQ8jjyUg3b5v663ubwHsDJAC1kSrm9GCEXLmNcUWxehYD0RAFOSZqdUej6EyJgDSyc7vavTnFweXbzP7-IRWZpU6W92zkGnGMI7UHx-Lt-2j82w&h=Ti2GTq7Stw8zmKvII1EP-UM6TjmepoqzirOCwGeT9F4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + 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: F47C8058D9E24892A1201ED1409F0A1A Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:58:34Z' + status: 200 OK + code: 200 + duration: 330.051042ms + - id: 74 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-gzmilp?api-version=2018-11-30 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 109 + uncompressed: false + body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-cgtfbe'' could not be found."}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "109" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 1DE0EAB6C8584709A8A3DF91E1070B00 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:58:38Z' + status: 404 Not Found + code: 404 + duration: 63.473682ms + - id: 75 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-cgtfbe/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz/configurations/max_connections?api-version=2023-06-30 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 246 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotest-mysql-sfeuuz'' under resource group ''asotest-rg-cgtfbe'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "246" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 81572231E7214B938D7BCB0D9B002E47 Ref B: CO6AA3150218021 Ref C: 2024-04-03T16:58:43Z' + status: 404 Not Found + code: 404 + duration: 129.43377ms diff --git a/v2/internal/controllers/recordings/Test_DBForMySQL_FlexibleServer_CRUD.yaml b/v2/internal/controllers/recordings/Test_DBForMySQL_FlexibleServer_CRUD.yaml deleted file mode 100644 index 53b7326281c..00000000000 --- a/v2/internal/controllers/recordings/Test_DBForMySQL_FlexibleServer_CRUD.yaml +++ /dev/null @@ -1,2558 +0,0 @@ ---- -version: 1 -interactions: -- request: - body: '{"location":"eastus","name":"asotest-rg-mvhpcy","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "92" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy?api-version=2020-06-01 - method: PUT - response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy","name":"asotest-rg-mvhpcy","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "275" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 201 Created - code: 201 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy?api-version=2020-06-01 - method: GET - response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy","name":"asotest-rg-mvhpcy","type":"Microsoft.Resources/resourceGroups","location":"eastus","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: '{"location":"eastus","name":"asotest-mysql-xiucnj","properties":{"administratorLogin":"myadmin","administratorLoginPassword":"{PASSWORD}","storage":{"storageSizeGB":128},"version":"8.0.21"},"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "286" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj?api-version=2021-05-01 - method: PUT - response: - body: '{"operation":"UpsertServerManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/53fbdd7e-ce5e-46db-a11c-b6945c2f1e94?api-version=2021-05-01 - Cache-Control: - - no-cache - Content-Length: - - "88" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/53fbdd7e-ce5e-46db-a11c-b6945c2f1e94?api-version=2021-05-01 - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/53fbdd7e-ce5e-46db-a11c-b6945c2f1e94?api-version=2021-05-01 - method: GET - response: - body: '{"name":"53fbdd7e-ce5e-46db-a11c-b6945c2f1e94","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/53fbdd7e-ce5e-46db-a11c-b6945c2f1e94?api-version=2021-05-01 - method: GET - response: - body: '{"name":"53fbdd7e-ce5e-46db-a11c-b6945c2f1e94","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/53fbdd7e-ce5e-46db-a11c-b6945c2f1e94?api-version=2021-05-01 - method: GET - response: - body: '{"name":"53fbdd7e-ce5e-46db-a11c-b6945c2f1e94","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/53fbdd7e-ce5e-46db-a11c-b6945c2f1e94?api-version=2021-05-01 - method: GET - response: - body: '{"name":"53fbdd7e-ce5e-46db-a11c-b6945c2f1e94","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/53fbdd7e-ce5e-46db-a11c-b6945c2f1e94?api-version=2021-05-01 - method: GET - response: - body: '{"name":"53fbdd7e-ce5e-46db-a11c-b6945c2f1e94","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "5" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/53fbdd7e-ce5e-46db-a11c-b6945c2f1e94?api-version=2021-05-01 - method: GET - response: - body: '{"name":"53fbdd7e-ce5e-46db-a11c-b6945c2f1e94","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj?api-version=2021-05-01 - method: GET - response: - body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-xiucnj.mysql.database.azure.com","availabilityZone":"1","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":7,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2023-05-15T22:30:56.5114573+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East - US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj","name":"asotest-mysql-xiucnj","type":"Microsoft.DBforMySQL/flexibleServers"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj?api-version=2021-05-01 - method: GET - response: - body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-xiucnj.mysql.database.azure.com","availabilityZone":"1","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":7,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2023-05-15T22:30:56.5114573+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East - US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj","name":"asotest-mysql-xiucnj","type":"Microsoft.DBforMySQL/flexibleServers"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: '{"location":"eastus","name":"asotest-mysql-xiucnj","properties":{"administratorLogin":"myadmin","administratorLoginPassword":"{PASSWORD}","backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled"},"storage":{"storageSizeGB":128},"version":"8.0.21"},"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "353" - Content-Type: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj?api-version=2021-05-01 - method: PUT - response: - body: '{"operation":"UpsertServerManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/9496118c-ced4-45ec-8c60-27ccffcaf8e7?api-version=2021-05-01 - Cache-Control: - - no-cache - Content-Length: - - "88" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/9496118c-ced4-45ec-8c60-27ccffcaf8e7?api-version=2021-05-01 - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/9496118c-ced4-45ec-8c60-27ccffcaf8e7?api-version=2021-05-01 - method: GET - response: - body: '{"name":"9496118c-ced4-45ec-8c60-27ccffcaf8e7","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/9496118c-ced4-45ec-8c60-27ccffcaf8e7?api-version=2021-05-01 - method: GET - response: - body: '{"name":"9496118c-ced4-45ec-8c60-27ccffcaf8e7","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj?api-version=2021-05-01 - method: GET - response: - body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-xiucnj.mysql.database.azure.com","availabilityZone":"1","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2023-05-15T22:30:56.5114573+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East - US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj","name":"asotest-mysql-xiucnj","type":"Microsoft.DBforMySQL/flexibleServers"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj?api-version=2021-05-01 - method: GET - response: - body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-xiucnj.mysql.database.azure.com","availabilityZone":"1","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2023-05-15T22:30:56.5114573+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East - US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj","name":"asotest-mysql-xiucnj","type":"Microsoft.DBforMySQL/flexibleServers"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: '{"location":"eastus","name":"asotest-mi-bwhadr"}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "48" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-bwhadr?api-version=2018-11-30 - method: PUT - response: - body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mvhpcy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-bwhadr","name":"asotest-mi-bwhadr","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"7de3b3b2-a791-4e18-9f46-70acb9cb7048","clientId":"475019df-d361-4ee8-a0ca-550098b27e29"}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "453" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mvhpcy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-bwhadr - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 201 Created - code: 201 - duration: "" -- request: - body: '{"location":"eastus","name":"asotest-mi-bwhadr"}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "48" - Content-Type: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-bwhadr?api-version=2018-11-30 - method: PUT - response: - body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mvhpcy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-bwhadr","name":"asotest-mi-bwhadr","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"7de3b3b2-a791-4e18-9f46-70acb9cb7048","clientId":"475019df-d361-4ee8-a0ca-550098b27e29"}}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-bwhadr?api-version=2018-11-30 - method: GET - response: - body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mvhpcy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-bwhadr","name":"asotest-mi-bwhadr","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"7de3b3b2-a791-4e18-9f46-70acb9cb7048","clientId":"475019df-d361-4ee8-a0ca-550098b27e29"}}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: '{"identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-bwhadr":{}}},"location":"eastus","name":"asotest-mysql-xiucnj","properties":{"administratorLogin":"myadmin","administratorLoginPassword":"{PASSWORD}","backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled"},"storage":{"storageSizeGB":128},"version":"8.0.21"},"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "582" - Content-Type: - - application/json - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj?api-version=2021-05-01 - method: PUT - response: - body: '{"operation":"UpsertServerManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/32312ac7-6ab4-4095-bb74-0bbe1db36070?api-version=2021-05-01 - Cache-Control: - - no-cache - Content-Length: - - "88" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/32312ac7-6ab4-4095-bb74-0bbe1db36070?api-version=2021-05-01 - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/32312ac7-6ab4-4095-bb74-0bbe1db36070?api-version=2021-05-01 - method: GET - response: - body: '{"name":"32312ac7-6ab4-4095-bb74-0bbe1db36070","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/32312ac7-6ab4-4095-bb74-0bbe1db36070?api-version=2021-05-01 - method: GET - response: - body: '{"name":"32312ac7-6ab4-4095-bb74-0bbe1db36070","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj?api-version=2021-05-01 - method: GET - response: - body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mvhpcy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-bwhadr":{"principalId":"7de3b3b2-a791-4e18-9f46-70acb9cb7048","tenantId":"00000000-0000-0000-0000-000000000000"}},"principalId":"00000000-0000-0000-0000-000000000000","type":"UserAssigned","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-xiucnj.mysql.database.azure.com","availabilityZone":"1","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2023-05-15T22:30:56.5114573+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East - US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj","name":"asotest-mysql-xiucnj","type":"Microsoft.DBforMySQL/flexibleServers"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "5" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj?api-version=2021-05-01 - method: GET - response: - body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mvhpcy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-bwhadr":{"principalId":"7de3b3b2-a791-4e18-9f46-70acb9cb7048","tenantId":"00000000-0000-0000-0000-000000000000"}},"principalId":"00000000-0000-0000-0000-000000000000","type":"UserAssigned","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myadmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotest-mysql-xiucnj.mysql.database.azure.com","availabilityZone":"1","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":5,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2023-05-15T22:30:56.5114573+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East - US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj","name":"asotest-mysql-xiucnj","type":"Microsoft.DBforMySQL/flexibleServers"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: '{"name":"ActiveDirectory","properties":{"administratorType":"ActiveDirectory","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-bwhadr","login":"asotest-mi-bwhadr","sid":"475019df-d361-4ee8-a0ca-550098b27e29","tenantId":"00000000-0000-0000-0000-000000000000"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "387" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/administrators/ActiveDirectory?api-version=2022-01-01 - method: PUT - response: - body: '{"operation":"UpsertActiveDirectoryAdministratorManagementOperation","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/6db1f9d8-17f2-4cd6-9882-657a21c5644c?api-version=2022-01-01 - Cache-Control: - - no-cache - Content-Length: - - "108" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/6db1f9d8-17f2-4cd6-9882-657a21c5644c?api-version=2022-01-01 - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/6db1f9d8-17f2-4cd6-9882-657a21c5644c?api-version=2022-01-01 - method: GET - response: - body: '{"name":"6db1f9d8-17f2-4cd6-9882-657a21c5644c","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/6db1f9d8-17f2-4cd6-9882-657a21c5644c?api-version=2022-01-01 - method: GET - response: - body: '{"name":"6db1f9d8-17f2-4cd6-9882-657a21c5644c","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/administrators/ActiveDirectory?api-version=2022-01-01 - method: GET - response: - body: '{"properties":{"administratorType":"ActiveDirectory","login":"asotest-mi-bwhadr","sid":"475019df-d361-4ee8-a0ca-550098b27e29","tenantId":"00000000-0000-0000-0000-000000000000","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mvhpcy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-bwhadr"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/administrators/ActiveDirectory","name":"ActiveDirectory","type":"Microsoft.DBforMySQL/flexibleServers/administrators"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/administrators/ActiveDirectory?api-version=2022-01-01 - method: GET - response: - body: '{"properties":{"administratorType":"ActiveDirectory","login":"asotest-mi-bwhadr","sid":"475019df-d361-4ee8-a0ca-550098b27e29","tenantId":"00000000-0000-0000-0000-000000000000","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mvhpcy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-bwhadr"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/administrators/ActiveDirectory","name":"ActiveDirectory","type":"Microsoft.DBforMySQL/flexibleServers/administrators"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/administrators/ActiveDirectory?api-version=2022-01-01 - method: DELETE - response: - body: '{"operation":"DropActiveDirectoryAdministratorManagementOperation","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/fbea1267-8f5a-4264-bd4d-e55522ac2ba5?api-version=2022-01-01 - Cache-Control: - - no-cache - Content-Length: - - "106" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/fbea1267-8f5a-4264-bd4d-e55522ac2ba5?api-version=2022-01-01 - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/fbea1267-8f5a-4264-bd4d-e55522ac2ba5?api-version=2022-01-01 - method: GET - response: - body: '{"name":"fbea1267-8f5a-4264-bd4d-e55522ac2ba5","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: '{"name":"asotestdbsikgaz","properties":{"charset":"utf8mb4"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "61" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/databases/asotestdbsikgaz?api-version=2021-05-01 - method: PUT - response: - body: '{"operation":"UpsertServerDatabaseManagementOperation","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/a07c73a9-c728-4acf-b3a2-7bf91f2d00bc?api-version=2021-05-01 - Cache-Control: - - no-cache - Content-Length: - - "94" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/a07c73a9-c728-4acf-b3a2-7bf91f2d00bc?api-version=2021-05-01 - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: '{"name":"max_connections","properties":{"source":"user-override","value":"20"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "79" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/configurations/max_connections?api-version=2022-01-01 - method: PUT - response: - body: '{"operation":"UpdateServerParameterManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/c4e1de08-5365-475e-8f27-7aa34f447351?api-version=2022-01-01 - Cache-Control: - - no-cache - Content-Length: - - "97" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/c4e1de08-5365-475e-8f27-7aa34f447351?api-version=2022-01-01 - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: '{"name":"asotest-fwrule-ulqjby","properties":{"endIpAddress":"1.2.3.4","startIpAddress":"1.2.3.4"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "99" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/firewallRules/asotest-fwrule-ulqjby?api-version=2021-05-01 - method: PUT - response: - body: '{"operation":"UpsertServerFirewallRulesManagementOperation","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/f3109e7b-6a72-4ebc-8737-fe7ec95471b1?api-version=2021-05-01 - Cache-Control: - - no-cache - Content-Length: - - "99" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/f3109e7b-6a72-4ebc-8737-fe7ec95471b1?api-version=2021-05-01 - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/c4e1de08-5365-475e-8f27-7aa34f447351?api-version=2022-01-01 - method: GET - response: - body: '{"name":"c4e1de08-5365-475e-8f27-7aa34f447351","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/f3109e7b-6a72-4ebc-8737-fe7ec95471b1?api-version=2021-05-01 - method: GET - response: - body: '{"name":"f3109e7b-6a72-4ebc-8737-fe7ec95471b1","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/a07c73a9-c728-4acf-b3a2-7bf91f2d00bc?api-version=2021-05-01 - method: GET - response: - body: '{"name":"a07c73a9-c728-4acf-b3a2-7bf91f2d00bc","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/databases/asotestdbsikgaz?api-version=2021-05-01 - method: GET - response: - body: '{"properties":{"charset":"utf8mb4","collation":"utf8mb4_0900_ai_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/databases/asotestdbsikgaz","name":"asotestdbsikgaz","type":"Microsoft.DBforMySQL/flexibleServers/databases"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/databases/asotestdbsikgaz?api-version=2021-05-01 - method: GET - response: - body: '{"properties":{"charset":"utf8mb4","collation":"utf8mb4_0900_ai_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/databases/asotestdbsikgaz","name":"asotestdbsikgaz","type":"Microsoft.DBforMySQL/flexibleServers/databases"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/databases/asotestdbsikgaz?api-version=2021-05-01 - method: DELETE - response: - body: '{"operation":"DropServerDatabaseManagementOperation","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/1875dab5-732e-4d03-b13a-8cd1a3eee3b9?api-version=2021-05-01 - Cache-Control: - - no-cache - Content-Length: - - "92" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/1875dab5-732e-4d03-b13a-8cd1a3eee3b9?api-version=2021-05-01 - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/c4e1de08-5365-475e-8f27-7aa34f447351?api-version=2022-01-01 - method: GET - response: - body: '{"name":"c4e1de08-5365-475e-8f27-7aa34f447351","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/1875dab5-732e-4d03-b13a-8cd1a3eee3b9?api-version=2021-05-01 - method: GET - response: - body: '{"name":"1875dab5-732e-4d03-b13a-8cd1a3eee3b9","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/c4e1de08-5365-475e-8f27-7aa34f447351?api-version=2022-01-01 - method: GET - response: - body: '{"name":"c4e1de08-5365-475e-8f27-7aa34f447351","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/1875dab5-732e-4d03-b13a-8cd1a3eee3b9?api-version=2021-05-01 - method: GET - response: - body: '{"name":"1875dab5-732e-4d03-b13a-8cd1a3eee3b9","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/c4e1de08-5365-475e-8f27-7aa34f447351?api-version=2022-01-01 - method: GET - response: - body: '{"name":"c4e1de08-5365-475e-8f27-7aa34f447351","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/1875dab5-732e-4d03-b13a-8cd1a3eee3b9?api-version=2021-05-01 - method: GET - response: - body: '{"name":"1875dab5-732e-4d03-b13a-8cd1a3eee3b9","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/f3109e7b-6a72-4ebc-8737-fe7ec95471b1?api-version=2021-05-01 - method: GET - response: - body: '{"name":"f3109e7b-6a72-4ebc-8737-fe7ec95471b1","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/c4e1de08-5365-475e-8f27-7aa34f447351?api-version=2022-01-01 - method: GET - response: - body: '{"name":"c4e1de08-5365-475e-8f27-7aa34f447351","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/configurations/max_connections?api-version=2022-01-01 - method: GET - response: - body: '{"properties":{"value":"20","currentValue":"20","description":"The maximum - permitted number of simultaneous client connections.","defaultValue":"1365","dataType":"Integer","allowedValues":"10-2731","source":"user-override","isConfigPendingRestart":"False","isDynamicConfig":"True","isReadOnly":"False","documentationLink":"https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/configurations/max_connections","name":"max_connections","type":"Microsoft.DBforMySQL/flexibleServers/configurations"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/configurations/max_connections?api-version=2022-01-01 - method: GET - response: - body: '{"properties":{"value":"20","currentValue":"20","description":"The maximum - permitted number of simultaneous client connections.","defaultValue":"1365","dataType":"Integer","allowedValues":"10-2731","source":"user-override","isConfigPendingRestart":"False","isDynamicConfig":"True","isReadOnly":"False","documentationLink":"https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/configurations/max_connections","name":"max_connections","type":"Microsoft.DBforMySQL/flexibleServers/configurations"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/1875dab5-732e-4d03-b13a-8cd1a3eee3b9?api-version=2021-05-01 - method: GET - response: - body: '{"name":"1875dab5-732e-4d03-b13a-8cd1a3eee3b9","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/1875dab5-732e-4d03-b13a-8cd1a3eee3b9?api-version=2021-05-01 - method: GET - response: - body: '{"name":"1875dab5-732e-4d03-b13a-8cd1a3eee3b9","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "5" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/1875dab5-732e-4d03-b13a-8cd1a3eee3b9?api-version=2021-05-01 - method: GET - response: - body: '{"name":"1875dab5-732e-4d03-b13a-8cd1a3eee3b9","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "6" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/1875dab5-732e-4d03-b13a-8cd1a3eee3b9?api-version=2021-05-01 - method: GET - response: - body: '{"name":"1875dab5-732e-4d03-b13a-8cd1a3eee3b9","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/f3109e7b-6a72-4ebc-8737-fe7ec95471b1?api-version=2021-05-01 - method: GET - response: - body: '{"name":"f3109e7b-6a72-4ebc-8737-fe7ec95471b1","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/firewallRules/asotest-fwrule-ulqjby?api-version=2021-05-01 - method: GET - response: - body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.4"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/firewallRules/asotest-fwrule-ulqjby","name":"asotest-fwrule-ulqjby","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/firewallRules/asotest-fwrule-ulqjby?api-version=2021-05-01 - method: GET - response: - body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.4"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/firewallRules/asotest-fwrule-ulqjby","name":"asotest-fwrule-ulqjby","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: '{"name":"asotest-fwrule-ulqjby","properties":{"endIpAddress":"1.2.3.5","startIpAddress":"1.2.3.4"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "99" - Content-Type: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/firewallRules/asotest-fwrule-ulqjby?api-version=2021-05-01 - method: PUT - response: - body: '{"operation":"UpsertServerFirewallRulesManagementOperation","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/7d9b2908-4010-4405-8896-d8a7afe9f728?api-version=2021-05-01 - Cache-Control: - - no-cache - Content-Length: - - "98" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/7d9b2908-4010-4405-8896-d8a7afe9f728?api-version=2021-05-01 - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/7d9b2908-4010-4405-8896-d8a7afe9f728?api-version=2021-05-01 - method: GET - response: - body: '{"name":"7d9b2908-4010-4405-8896-d8a7afe9f728","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "7" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/1875dab5-732e-4d03-b13a-8cd1a3eee3b9?api-version=2021-05-01 - method: GET - response: - body: '{"name":"1875dab5-732e-4d03-b13a-8cd1a3eee3b9","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/7d9b2908-4010-4405-8896-d8a7afe9f728?api-version=2021-05-01 - method: GET - response: - body: '{"name":"7d9b2908-4010-4405-8896-d8a7afe9f728","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/7d9b2908-4010-4405-8896-d8a7afe9f728?api-version=2021-05-01 - method: GET - response: - body: '{"name":"7d9b2908-4010-4405-8896-d8a7afe9f728","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/firewallRules/asotest-fwrule-ulqjby?api-version=2021-05-01 - method: GET - response: - body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.5"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/firewallRules/asotest-fwrule-ulqjby","name":"asotest-fwrule-ulqjby","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/firewallRules/asotest-fwrule-ulqjby?api-version=2021-05-01 - method: GET - response: - body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.5"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/firewallRules/asotest-fwrule-ulqjby","name":"asotest-fwrule-ulqjby","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/firewallRules/asotest-fwrule-ulqjby?api-version=2021-05-01 - method: DELETE - response: - body: '{"operation":"DropServerFirewallRulesManagementOperation","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/82f654be-7687-4537-b872-6d309da8175f?api-version=2021-05-01 - Cache-Control: - - no-cache - Content-Length: - - "96" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/82f654be-7687-4537-b872-6d309da8175f?api-version=2021-05-01 - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/82f654be-7687-4537-b872-6d309da8175f?api-version=2021-05-01 - method: GET - response: - body: '{"name":"82f654be-7687-4537-b872-6d309da8175f","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj?api-version=2021-05-01 - method: DELETE - response: - body: '{"operation":"DropServerManagementOperation","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/East%20US/azureAsyncOperation/466348aa-81b5-4146-a65b-78e650a134a3?api-version=2021-05-01 - Cache-Control: - - no-cache - Content-Length: - - "84" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/East%20US/operationResults/466348aa-81b5-4146-a65b-78e650a134a3?api-version=2021-05-01 - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/East%20US/azureAsyncOperation/466348aa-81b5-4146-a65b-78e650a134a3?api-version=2021-05-01 - method: GET - response: - body: '{"name":"466348aa-81b5-4146-a65b-78e650a134a3","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "6" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj?api-version=2021-05-01 - method: GET - response: - body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj'' - under resource group ''asotest-rg-mvhpcy'' was not found. For more details please - go to https://aka.ms/ARMResourceNotFoundFix"}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "246" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - X-Ms-Failure-Cause: - - gateway - status: 404 Not Found - code: 404 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy?api-version=2020-06-01 - method: DELETE - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNVkhQQ1ktRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNVkhQQ1ktRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNVkhQQ1ktRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNVkhQQ1ktRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNVkhQQ1ktRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNVkhQQ1ktRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNVkhQQ1ktRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNVkhQQ1ktRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNVkhQQ1ktRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNVkhQQ1ktRUFTVFVTIiwiam9iTG9jYXRpb24iOiJlYXN0dXMifQ?api-version=2020-06-01 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/asotest-mi-bwhadr?api-version=2018-11-30 - method: DELETE - response: - body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-mvhpcy'' - could not be found."}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "109" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - X-Ms-Failure-Cause: - - gateway - status: 404 Not Found - code: 404 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mvhpcy/providers/Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj/configurations/max_connections?api-version=2022-01-01 - method: DELETE - response: - body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotest-mysql-xiucnj'' - under resource group ''asotest-rg-mvhpcy'' was not found. For more details please - go to https://aka.ms/ARMResourceNotFoundFix"}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "246" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - X-Ms-Failure-Cause: - - gateway - status: 404 Not Found - code: 404 - duration: "" diff --git a/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api20210501_CreationAndDeletion.yaml b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api20210501_CreationAndDeletion.yaml new file mode 100644 index 00000000000..2442fdcb86e --- /dev/null +++ b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api20210501_CreationAndDeletion.yaml @@ -0,0 +1,1895 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 93 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-rg-qvorzn","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "93" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 09018d6793b86ba83c02aa34ca7fb265812e6f33a8d2328cd389cbcbfd2de5ac + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn?api-version=2020-06-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 276 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn","name":"asotest-rg-qvorzn","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "276" + Content-Type: + - application/json; charset=utf-8 + 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: 1D32E91D8E174AA7826497F63B7A1E81 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:27Z' + status: 201 Created + code: 201 + duration: 267.577032ms + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn?api-version=2020-06-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 276 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn","name":"asotest-rg-qvorzn","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "276" + Content-Type: + - application/json; charset=utf-8 + 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: 7668C354B2AC4C7EA9FA5CA606A14146 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:27Z' + status: 200 OK + code: 200 + duration: 19.07796ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 44 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"adminidentity"}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "44" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - a3b7210e6287b9a23e20479a42cc4e409d61c7c904ab5be12aeee2bc44a2cebc + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 445 + uncompressed: false + body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-qvorzn/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity","name":"adminidentity","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"896c3fa8-03ea-42a9-8689-8059e0e126dc","clientId":"8e5fd5b5-658b-4b26-8957-7d707809fcff"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "445" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-qvorzn/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: A69335CCFF22441EB801C0BEF40A4DBC Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:33Z' + status: 201 Created + code: 201 + duration: 1.166492641s + - id: 3 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 44 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"adminidentity"}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "44" + Content-Type: + - application/json + Test-Request-Attempt: + - "1" + Test-Request-Hash: + - a3b7210e6287b9a23e20479a42cc4e409d61c7c904ab5be12aeee2bc44a2cebc + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 445 + uncompressed: false + body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-qvorzn/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity","name":"adminidentity","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"896c3fa8-03ea-42a9-8689-8059e0e126dc","clientId":"8e5fd5b5-658b-4b26-8957-7d707809fcff"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "445" + Content-Type: + - application/json; charset=utf-8 + 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: D534B2EEEE874702A656E6D8797AB0D2 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:36Z' + status: 200 OK + code: 200 + duration: 224.057929ms + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 445 + uncompressed: false + body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-qvorzn/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity","name":"adminidentity","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"896c3fa8-03ea-42a9-8689-8059e0e126dc","clientId":"8e5fd5b5-658b-4b26-8957-7d707809fcff"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "445" + Content-Type: + - application/json; charset=utf-8 + 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: FC664BF5F73248A68DCC325B54C8ADBB Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:37Z' + status: 200 OK + code: 200 + duration: 127.358032ms + - id: 5 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 504 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity":{}}},"location":"eastus","name":"asotestbqaovy","properties":{"administratorLogin":"myAdmin","administratorLoginPassword":"{PASSWORD}","storage":{"storageSizeGB":128},"version":"8.0.21"},"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "504" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 475841c5ba46dd9d74a1d4e78c64b4329033892a269fe4b64bd8e7b374b65898 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy?api-version=2021-05-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 88 + uncompressed: false + body: '{"operation":"UpsertServerManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b68bc402-7f13-4f0f-8124-6cc878af21c1?api-version=2021-05-01&t=638477647047030915&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=nWJ80pB7zmYOErdBSTXRXRhCMiXYbnuzzgvIbP-NS0ZUl2LD2onFSiqF5WLsoV0UImtMix1jh3Q1FcQvh1jqWQH-7MI9lLlUeo0s7gUXevnQ3pOOzhFcjY-BuvyNEOEFLLR3R0a21UxAD-hoaP9S47b4JV4Kx43Bf1zdsymGCXoUMBGQ7EIryx82xIZoST6FM0X0q5_fx8dtlY0GQA1alYbBKwpUlQQp51dWRRMP6avLyfmH9fWdXxZ-75veX04IS55YlHksO6TIfKDdOVAfaDbBiq_bJzqiRVmmWJbSFgenB5MGHjQLvTKXyHbiJ9AX51rDV4dU5PpY0QsJ-O_HYA&h=hSPNbB8Df-RoEP8Fg1RhgCzQwG1gJ7OLO_KT7N5QiRo + Cache-Control: + - no-cache + Content-Length: + - "88" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/b68bc402-7f13-4f0f-8124-6cc878af21c1?api-version=2021-05-01&t=638477647047187157&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=omYOpK23HoZ4yuMmfXdGgZtuJ26eOzVZLLs9uwQhpyoufWw71PD9bTSVutzRpTVlDlzRsXyvhXsaehd2YMX2tvQ4p4J8kwdbszYMtmeN5eggyToBSDuDXrggK1ywoSyFXQ5nZEH494WV2PYU5iHO_cPAYugROkN8ouXwZoNO7WaVfMJzIuXxBe48POHwnEq1-0Opi888J5nZYhyxz_7-1HdY9ralf88KKrvfNxSL9Wydi8Inz4dZMAjXy1nmmwfeLOW2Sc26EHP9L0Nkd8vuoB_9g_Irwd3q4G4ALSESW6RUqOUe2ITScHDVlOLsuIebNR_lCu8kdpKNZUcVB1sTFA&h=NvQqH8IHbLVNKRUjnMva4CR8VyYvraADIw0aiMEATdo + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: C6BBF86580F848BAA027D67E95576F10 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:43Z' + status: 202 Accepted + code: 202 + duration: 1.332161221s + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b68bc402-7f13-4f0f-8124-6cc878af21c1?api-version=2021-05-01&t=638477647047030915&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=nWJ80pB7zmYOErdBSTXRXRhCMiXYbnuzzgvIbP-NS0ZUl2LD2onFSiqF5WLsoV0UImtMix1jh3Q1FcQvh1jqWQH-7MI9lLlUeo0s7gUXevnQ3pOOzhFcjY-BuvyNEOEFLLR3R0a21UxAD-hoaP9S47b4JV4Kx43Bf1zdsymGCXoUMBGQ7EIryx82xIZoST6FM0X0q5_fx8dtlY0GQA1alYbBKwpUlQQp51dWRRMP6avLyfmH9fWdXxZ-75veX04IS55YlHksO6TIfKDdOVAfaDbBiq_bJzqiRVmmWJbSFgenB5MGHjQLvTKXyHbiJ9AX51rDV4dU5PpY0QsJ-O_HYA&h=hSPNbB8Df-RoEP8Fg1RhgCzQwG1gJ7OLO_KT7N5QiRo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"b68bc402-7f13-4f0f-8124-6cc878af21c1","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: DF09598A5A624BAA9B1240610923EA9E Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:48Z' + status: 200 OK + code: 200 + duration: 311.490754ms + - id: 7 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b68bc402-7f13-4f0f-8124-6cc878af21c1?api-version=2021-05-01&t=638477647047030915&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=nWJ80pB7zmYOErdBSTXRXRhCMiXYbnuzzgvIbP-NS0ZUl2LD2onFSiqF5WLsoV0UImtMix1jh3Q1FcQvh1jqWQH-7MI9lLlUeo0s7gUXevnQ3pOOzhFcjY-BuvyNEOEFLLR3R0a21UxAD-hoaP9S47b4JV4Kx43Bf1zdsymGCXoUMBGQ7EIryx82xIZoST6FM0X0q5_fx8dtlY0GQA1alYbBKwpUlQQp51dWRRMP6avLyfmH9fWdXxZ-75veX04IS55YlHksO6TIfKDdOVAfaDbBiq_bJzqiRVmmWJbSFgenB5MGHjQLvTKXyHbiJ9AX51rDV4dU5PpY0QsJ-O_HYA&h=hSPNbB8Df-RoEP8Fg1RhgCzQwG1gJ7OLO_KT7N5QiRo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"b68bc402-7f13-4f0f-8124-6cc878af21c1","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 19F92ADD33274B06963D0E82198D0E01 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:12:48Z' + status: 200 OK + code: 200 + duration: 172.230763ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b68bc402-7f13-4f0f-8124-6cc878af21c1?api-version=2021-05-01&t=638477647047030915&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=nWJ80pB7zmYOErdBSTXRXRhCMiXYbnuzzgvIbP-NS0ZUl2LD2onFSiqF5WLsoV0UImtMix1jh3Q1FcQvh1jqWQH-7MI9lLlUeo0s7gUXevnQ3pOOzhFcjY-BuvyNEOEFLLR3R0a21UxAD-hoaP9S47b4JV4Kx43Bf1zdsymGCXoUMBGQ7EIryx82xIZoST6FM0X0q5_fx8dtlY0GQA1alYbBKwpUlQQp51dWRRMP6avLyfmH9fWdXxZ-75veX04IS55YlHksO6TIfKDdOVAfaDbBiq_bJzqiRVmmWJbSFgenB5MGHjQLvTKXyHbiJ9AX51rDV4dU5PpY0QsJ-O_HYA&h=hSPNbB8Df-RoEP8Fg1RhgCzQwG1gJ7OLO_KT7N5QiRo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"b68bc402-7f13-4f0f-8124-6cc878af21c1","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 923335CE17D3446EAB5F7911EA1D320E Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:13:49Z' + status: 200 OK + code: 200 + duration: 983.764989ms + - id: 9 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b68bc402-7f13-4f0f-8124-6cc878af21c1?api-version=2021-05-01&t=638477647047030915&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=nWJ80pB7zmYOErdBSTXRXRhCMiXYbnuzzgvIbP-NS0ZUl2LD2onFSiqF5WLsoV0UImtMix1jh3Q1FcQvh1jqWQH-7MI9lLlUeo0s7gUXevnQ3pOOzhFcjY-BuvyNEOEFLLR3R0a21UxAD-hoaP9S47b4JV4Kx43Bf1zdsymGCXoUMBGQ7EIryx82xIZoST6FM0X0q5_fx8dtlY0GQA1alYbBKwpUlQQp51dWRRMP6avLyfmH9fWdXxZ-75veX04IS55YlHksO6TIfKDdOVAfaDbBiq_bJzqiRVmmWJbSFgenB5MGHjQLvTKXyHbiJ9AX51rDV4dU5PpY0QsJ-O_HYA&h=hSPNbB8Df-RoEP8Fg1RhgCzQwG1gJ7OLO_KT7N5QiRo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"b68bc402-7f13-4f0f-8124-6cc878af21c1","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 9BDD3372EBE44DDFA8BA7660B0F9577C Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:14:51Z' + status: 200 OK + code: 200 + duration: 407.436491ms + - id: 10 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b68bc402-7f13-4f0f-8124-6cc878af21c1?api-version=2021-05-01&t=638477647047030915&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=nWJ80pB7zmYOErdBSTXRXRhCMiXYbnuzzgvIbP-NS0ZUl2LD2onFSiqF5WLsoV0UImtMix1jh3Q1FcQvh1jqWQH-7MI9lLlUeo0s7gUXevnQ3pOOzhFcjY-BuvyNEOEFLLR3R0a21UxAD-hoaP9S47b4JV4Kx43Bf1zdsymGCXoUMBGQ7EIryx82xIZoST6FM0X0q5_fx8dtlY0GQA1alYbBKwpUlQQp51dWRRMP6avLyfmH9fWdXxZ-75veX04IS55YlHksO6TIfKDdOVAfaDbBiq_bJzqiRVmmWJbSFgenB5MGHjQLvTKXyHbiJ9AX51rDV4dU5PpY0QsJ-O_HYA&h=hSPNbB8Df-RoEP8Fg1RhgCzQwG1gJ7OLO_KT7N5QiRo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"b68bc402-7f13-4f0f-8124-6cc878af21c1","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: A75CDCED07684AA995607E7076A57C99 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:15:51Z' + status: 200 OK + code: 200 + duration: 329.696054ms + - id: 11 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b68bc402-7f13-4f0f-8124-6cc878af21c1?api-version=2021-05-01&t=638477647047030915&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=nWJ80pB7zmYOErdBSTXRXRhCMiXYbnuzzgvIbP-NS0ZUl2LD2onFSiqF5WLsoV0UImtMix1jh3Q1FcQvh1jqWQH-7MI9lLlUeo0s7gUXevnQ3pOOzhFcjY-BuvyNEOEFLLR3R0a21UxAD-hoaP9S47b4JV4Kx43Bf1zdsymGCXoUMBGQ7EIryx82xIZoST6FM0X0q5_fx8dtlY0GQA1alYbBKwpUlQQp51dWRRMP6avLyfmH9fWdXxZ-75veX04IS55YlHksO6TIfKDdOVAfaDbBiq_bJzqiRVmmWJbSFgenB5MGHjQLvTKXyHbiJ9AX51rDV4dU5PpY0QsJ-O_HYA&h=hSPNbB8Df-RoEP8Fg1RhgCzQwG1gJ7OLO_KT7N5QiRo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"b68bc402-7f13-4f0f-8124-6cc878af21c1","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 87BE2C62B3B740C2AFF4AECC1A65B459 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:16:52Z' + status: 200 OK + code: 200 + duration: 608.484041ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1449 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-qvorzn/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity":{"principalId":"896c3fa8-03ea-42a9-8689-8059e0e126dc","tenantId":"00000000-0000-0000-0000-000000000000"}},"principalId":"00000000-0000-0000-0000-000000000000","type":"UserAssigned","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myAdmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotestbqaovy.mysql.database.azure.com","availabilityZone":"3","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":7,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T18:21:50.4104971+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy","name":"asotestbqaovy","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1449" + Content-Type: + - application/json; charset=utf-8 + 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: C906D6B4375741E29D0D65E51914A00B Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:16:53Z' + status: 200 OK + code: 200 + duration: 343.589958ms + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1449 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-qvorzn/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity":{"principalId":"896c3fa8-03ea-42a9-8689-8059e0e126dc","tenantId":"00000000-0000-0000-0000-000000000000"}},"principalId":"00000000-0000-0000-0000-000000000000","type":"UserAssigned","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myAdmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotestbqaovy.mysql.database.azure.com","availabilityZone":"3","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":7,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T18:21:50.4104971+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy","name":"asotestbqaovy","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1449" + Content-Type: + - application/json; charset=utf-8 + 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: 0827FB6B2334467DB6981B12D7805E35 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:16:54Z' + status: 200 OK + code: 200 + duration: 344.489458ms + - id: 14 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 91 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"asotestcrgyya","properties":{"endIpAddress":"1.2.3.4","startIpAddress":"1.2.3.4"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "91" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 4816ccdc6fb3a177b93b8dca509e1ee6d6240bd7ee409387cc681efb3039e7d4 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy/firewallRules/asotestcrgyya?api-version=2021-05-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 98 + uncompressed: false + body: '{"operation":"UpsertServerFirewallRulesManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/187dd045-22c0-44c7-9521-c8845dc22d7d?api-version=2021-05-01&t=638477650672129254&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=cUiaP2QkxpEfGIWcWq6iabIA3Qdwq2mi6XgDKXBHyahu2xUsJH_id16IG4yL_KWiFvs1fWKqG3R9omffuPJw2Hw7dmTSQyGF7dYuQFwbPDiwTJWMB4CqD8cKgzfFRESnlcDHLfdpsxHHLdxrSaioR-oIVrMni_VbWsVdOUaM2WZRkWb9knn3hSm-n5RHd9egZ8dqGyx-LBciSKfzlTRSNZdir3icXBQredF9omdUQaAq-SMgRMd00-Luiw4Mc7nq8uSlUSTeeuzGQsHGP6F4oFcbQ0_CMmW63vn-qyjCGAxrgJpaAfijjHF_sPQQ7bp4J-VsaApnq9YjXBOu7arPig&h=M_u-cBDgpD5QAwfVLI_854ujgq24cRukZPcH3RIWXjA + Cache-Control: + - no-cache + Content-Length: + - "98" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/187dd045-22c0-44c7-9521-c8845dc22d7d?api-version=2021-05-01&t=638477650672285519&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=2UJUwJ4nHtRzZe6Aaqp4tmgU2xDREr_T0hY5k4QPA4Ig5U2H4oRDznmeQ_wudPwmsHmLT6to3Ow5LlQ_C6Uk5ocHHkBAr_ryPKM7VuHk_hiCiCE46dJuKVSe2O_2_Ou5IHxPnxZnKZZWjWgaU0kTwww7uuX7k6xEQKqcZcO4ez6ofwOBk38KTmhjtyfB84d-P0pvzJ4wwlNX15V63WUCmXiwVvSemdQG9oJrHTrxYvks0pekzGoODb_zTZd54fST933ko8mtnvydeqKKQuykM7uEHNgTIBc48O45Kqrb1p9Sbx9WN5E0XGT8j-wBhturI02EXvWvwRDa5M-Os2KoPA&h=1rRmD0XJOt5HgKd5y7xnDYwy9S8Dpe81NkDixZFeLvc + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 8821B3B3F317455996BAE7A04DE54162 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:46Z' + status: 202 Accepted + code: 202 + duration: 447.158822ms + - id: 15 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 59 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"asotestzduipo","properties":{"charset":"utf8mb4"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "59" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 3f572fc4d3bc2428b9542712591793995aa6f0592322ed0d969797b00bf66c19 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy/databases/asotestzduipo?api-version=2021-05-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 94 + uncompressed: false + body: '{"operation":"UpsertServerDatabaseManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/817251a5-dda2-4dd4-8ad8-1eba6f84af2b?api-version=2021-05-01&t=638477650672297079&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=MpP7Un1XDGDsnGUDfc74yxbi8RzlYYWiRdLk1TinU03HmwMAXLv14iMNx-gHfeOuLplPNw7lLk6egqGLnZxv7l6PhaMA64AMjCdbLmf7-ElCOyXy8gsAoxw_FRiEpAnEjELVaX0reutiDSIgE7HXOfppLAuPWvjG8ZlS4u_4EBhgjgGR0M47h6n5C5N0dKv9gdoWWFalSh4NMbsKOoi-Fn-jAKO4CxlL92O_1HGRVNcqnVAooiG8CuCG8KTYMiSDGT30zv6BVeR8qKR9mUCal_j7r_CQrF_DcXcIrAwPltyIIAMV0AGzE_ZK-rw2LjwZMNpB-XmQO5F3V-_jhxgGxg&h=73bGjgWfkajrrqMDCx-96O84lAzqwn6JnrlvWwj6te4 + Cache-Control: + - no-cache + Content-Length: + - "94" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/817251a5-dda2-4dd4-8ad8-1eba6f84af2b?api-version=2021-05-01&t=638477650672453588&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=gcEjyS1DNd4dmXbeeWIwMP3FyCoThdNohBggDU7YXigrZPxLiwN7wjjBvgeI78vQtov_wbtZUaQJjeyktB7OrXCarXkCTyw6dGmGPp60txD4xWeUjjRxkOXyCjPXz53h1iXBGtubw3uFFC06Yc5HJTRFoVvBi7bhUvG-4GrOwmJDPvE6kqBfQpMqYxQvLs2TiPC_pYDgnszGlIU63Z5tURGCsjDAwc4v-5EetGcBnpMYu2COXTuTzCwywTWZ3al1PcQFsP72bvIY7cXNPQNjPuEdASAFdmk6SuYxbPAvAkzVHyfoO51VuDa9cAiEmyLboo8NBTEWiF2wJhtVjc5aBg&h=9QtIeZ1KBTX9OIsqLQb0F820QFl7OFWF2_6Bk1JuQz8 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: CCB73E018DCA480B89D0B1F33BE2A26F Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:46Z' + status: 202 Accepted + code: 202 + duration: 500.235242ms + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/187dd045-22c0-44c7-9521-c8845dc22d7d?api-version=2021-05-01&t=638477650672129254&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=cUiaP2QkxpEfGIWcWq6iabIA3Qdwq2mi6XgDKXBHyahu2xUsJH_id16IG4yL_KWiFvs1fWKqG3R9omffuPJw2Hw7dmTSQyGF7dYuQFwbPDiwTJWMB4CqD8cKgzfFRESnlcDHLfdpsxHHLdxrSaioR-oIVrMni_VbWsVdOUaM2WZRkWb9knn3hSm-n5RHd9egZ8dqGyx-LBciSKfzlTRSNZdir3icXBQredF9omdUQaAq-SMgRMd00-Luiw4Mc7nq8uSlUSTeeuzGQsHGP6F4oFcbQ0_CMmW63vn-qyjCGAxrgJpaAfijjHF_sPQQ7bp4J-VsaApnq9YjXBOu7arPig&h=M_u-cBDgpD5QAwfVLI_854ujgq24cRukZPcH3RIWXjA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"187dd045-22c0-44c7-9521-c8845dc22d7d","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: FD8A6C9419154BE5BA57FC11B844501D Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:48Z' + status: 200 OK + code: 200 + duration: 271.778789ms + - id: 17 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/817251a5-dda2-4dd4-8ad8-1eba6f84af2b?api-version=2021-05-01&t=638477650672297079&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=MpP7Un1XDGDsnGUDfc74yxbi8RzlYYWiRdLk1TinU03HmwMAXLv14iMNx-gHfeOuLplPNw7lLk6egqGLnZxv7l6PhaMA64AMjCdbLmf7-ElCOyXy8gsAoxw_FRiEpAnEjELVaX0reutiDSIgE7HXOfppLAuPWvjG8ZlS4u_4EBhgjgGR0M47h6n5C5N0dKv9gdoWWFalSh4NMbsKOoi-Fn-jAKO4CxlL92O_1HGRVNcqnVAooiG8CuCG8KTYMiSDGT30zv6BVeR8qKR9mUCal_j7r_CQrF_DcXcIrAwPltyIIAMV0AGzE_ZK-rw2LjwZMNpB-XmQO5F3V-_jhxgGxg&h=73bGjgWfkajrrqMDCx-96O84lAzqwn6JnrlvWwj6te4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"817251a5-dda2-4dd4-8ad8-1eba6f84af2b","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 884D4BC18234483398A8A80B892BCB0F Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:48Z' + status: 200 OK + code: 200 + duration: 246.493627ms + - id: 18 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/817251a5-dda2-4dd4-8ad8-1eba6f84af2b?api-version=2021-05-01&t=638477650672297079&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=MpP7Un1XDGDsnGUDfc74yxbi8RzlYYWiRdLk1TinU03HmwMAXLv14iMNx-gHfeOuLplPNw7lLk6egqGLnZxv7l6PhaMA64AMjCdbLmf7-ElCOyXy8gsAoxw_FRiEpAnEjELVaX0reutiDSIgE7HXOfppLAuPWvjG8ZlS4u_4EBhgjgGR0M47h6n5C5N0dKv9gdoWWFalSh4NMbsKOoi-Fn-jAKO4CxlL92O_1HGRVNcqnVAooiG8CuCG8KTYMiSDGT30zv6BVeR8qKR9mUCal_j7r_CQrF_DcXcIrAwPltyIIAMV0AGzE_ZK-rw2LjwZMNpB-XmQO5F3V-_jhxgGxg&h=73bGjgWfkajrrqMDCx-96O84lAzqwn6JnrlvWwj6te4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"817251a5-dda2-4dd4-8ad8-1eba6f84af2b","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: A680E1DEB2FE493EBD8E748236A915E7 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:04Z' + status: 200 OK + code: 200 + duration: 275.977487ms + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/817251a5-dda2-4dd4-8ad8-1eba6f84af2b?api-version=2021-05-01&t=638477650672297079&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=MpP7Un1XDGDsnGUDfc74yxbi8RzlYYWiRdLk1TinU03HmwMAXLv14iMNx-gHfeOuLplPNw7lLk6egqGLnZxv7l6PhaMA64AMjCdbLmf7-ElCOyXy8gsAoxw_FRiEpAnEjELVaX0reutiDSIgE7HXOfppLAuPWvjG8ZlS4u_4EBhgjgGR0M47h6n5C5N0dKv9gdoWWFalSh4NMbsKOoi-Fn-jAKO4CxlL92O_1HGRVNcqnVAooiG8CuCG8KTYMiSDGT30zv6BVeR8qKR9mUCal_j7r_CQrF_DcXcIrAwPltyIIAMV0AGzE_ZK-rw2LjwZMNpB-XmQO5F3V-_jhxgGxg&h=73bGjgWfkajrrqMDCx-96O84lAzqwn6JnrlvWwj6te4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"817251a5-dda2-4dd4-8ad8-1eba6f84af2b","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: E48F515099AD4D8497EDA99343DB2DE1 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:19Z' + status: 200 OK + code: 200 + duration: 256.915719ms + - id: 20 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/817251a5-dda2-4dd4-8ad8-1eba6f84af2b?api-version=2021-05-01&t=638477650672297079&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=MpP7Un1XDGDsnGUDfc74yxbi8RzlYYWiRdLk1TinU03HmwMAXLv14iMNx-gHfeOuLplPNw7lLk6egqGLnZxv7l6PhaMA64AMjCdbLmf7-ElCOyXy8gsAoxw_FRiEpAnEjELVaX0reutiDSIgE7HXOfppLAuPWvjG8ZlS4u_4EBhgjgGR0M47h6n5C5N0dKv9gdoWWFalSh4NMbsKOoi-Fn-jAKO4CxlL92O_1HGRVNcqnVAooiG8CuCG8KTYMiSDGT30zv6BVeR8qKR9mUCal_j7r_CQrF_DcXcIrAwPltyIIAMV0AGzE_ZK-rw2LjwZMNpB-XmQO5F3V-_jhxgGxg&h=73bGjgWfkajrrqMDCx-96O84lAzqwn6JnrlvWwj6te4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"817251a5-dda2-4dd4-8ad8-1eba6f84af2b","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 3D8597EE19D44479B07ECC2D54EAE3B8 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:35Z' + status: 200 OK + code: 200 + duration: 313.714641ms + - id: 21 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/187dd045-22c0-44c7-9521-c8845dc22d7d?api-version=2021-05-01&t=638477650672129254&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=cUiaP2QkxpEfGIWcWq6iabIA3Qdwq2mi6XgDKXBHyahu2xUsJH_id16IG4yL_KWiFvs1fWKqG3R9omffuPJw2Hw7dmTSQyGF7dYuQFwbPDiwTJWMB4CqD8cKgzfFRESnlcDHLfdpsxHHLdxrSaioR-oIVrMni_VbWsVdOUaM2WZRkWb9knn3hSm-n5RHd9egZ8dqGyx-LBciSKfzlTRSNZdir3icXBQredF9omdUQaAq-SMgRMd00-Luiw4Mc7nq8uSlUSTeeuzGQsHGP6F4oFcbQ0_CMmW63vn-qyjCGAxrgJpaAfijjHF_sPQQ7bp4J-VsaApnq9YjXBOu7arPig&h=M_u-cBDgpD5QAwfVLI_854ujgq24cRukZPcH3RIWXjA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"187dd045-22c0-44c7-9521-c8845dc22d7d","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 2726BA6ABE054F8696FEE66C243B2E09 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:49Z' + status: 200 OK + code: 200 + duration: 533.139826ms + - id: 22 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy/firewallRules/asotestcrgyya?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 332 + uncompressed: false + body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.4"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy/firewallRules/asotestcrgyya","name":"asotestcrgyya","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "332" + Content-Type: + - application/json; charset=utf-8 + 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: AE8F0C19E2C04BCABB93D1EBC53C59A6 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:50Z' + status: 200 OK + code: 200 + duration: 406.42951ms + - id: 23 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy/firewallRules/asotestcrgyya?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 332 + uncompressed: false + body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.4"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy/firewallRules/asotestcrgyya","name":"asotestcrgyya","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "332" + Content-Type: + - application/json; charset=utf-8 + 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: 3109BBD68763479095772AE058CAD71C Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:51Z' + status: 200 OK + code: 200 + duration: 274.784402ms + - id: 24 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/817251a5-dda2-4dd4-8ad8-1eba6f84af2b?api-version=2021-05-01&t=638477650672297079&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=MpP7Un1XDGDsnGUDfc74yxbi8RzlYYWiRdLk1TinU03HmwMAXLv14iMNx-gHfeOuLplPNw7lLk6egqGLnZxv7l6PhaMA64AMjCdbLmf7-ElCOyXy8gsAoxw_FRiEpAnEjELVaX0reutiDSIgE7HXOfppLAuPWvjG8ZlS4u_4EBhgjgGR0M47h6n5C5N0dKv9gdoWWFalSh4NMbsKOoi-Fn-jAKO4CxlL92O_1HGRVNcqnVAooiG8CuCG8KTYMiSDGT30zv6BVeR8qKR9mUCal_j7r_CQrF_DcXcIrAwPltyIIAMV0AGzE_ZK-rw2LjwZMNpB-XmQO5F3V-_jhxgGxg&h=73bGjgWfkajrrqMDCx-96O84lAzqwn6JnrlvWwj6te4 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"817251a5-dda2-4dd4-8ad8-1eba6f84af2b","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: C75F6C96490141E3B10C329ED44C0889 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:51Z' + status: 200 OK + code: 200 + duration: 2.910503284s + - id: 25 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy/databases/asotestzduipo?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 325 + uncompressed: false + body: '{"properties":{"charset":"utf8mb4","collation":"utf8mb4_0900_ai_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy/databases/asotestzduipo","name":"asotestzduipo","type":"Microsoft.DBforMySQL/flexibleServers/databases"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "325" + Content-Type: + - application/json; charset=utf-8 + 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: FEF1970E505442AA9FE4C79E0AA801EC Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:56Z' + status: 200 OK + code: 200 + duration: 1.702551642s + - id: 26 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy/databases/asotestzduipo?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 325 + uncompressed: false + body: '{"properties":{"charset":"utf8mb4","collation":"utf8mb4_0900_ai_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy/databases/asotestzduipo","name":"asotestzduipo","type":"Microsoft.DBforMySQL/flexibleServers/databases"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "325" + Content-Type: + - application/json; charset=utf-8 + 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: 676B8D5A860E4492A233432871D6C1B2 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:19:00Z' + status: 200 OK + code: 200 + duration: 3.435711554s + - id: 27 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn?api-version=2020-06-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRRVk9SWk4tV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477651482071303&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=VXt6RmgBB2pNVz249lmR-Z0n5MUP12tCggH8sNrfS7E9E766CjBtNqUqdlyVebxQ-5PBUDzOdJz_IzvxK0kr72F1CovQj0VBl959g9x2jiTb9eui0RNw4Hr2bZSmB3t0Jg5e5mkszEV35p5nVbhjHzgvnPE-OQ-Bt8VVyLhztD9uOLR3fXsjEQPh170Vt1WpgM2g6GTmQTdEPU2y-2gaCHF1iJWjm5XrDhXBFYMw1pCbnaREPj_keJh1WNR-kB8VdyQTOx7c3LUKwEaCnMTd0zW-DPbPgn45_ebuXeTkJRXD30TlUJ7jbjH51RG1jTyoX0FGaLbu-1X7gWTOPQubJQ&h=ZldG6gKasBEJYNSJLg2TCTWUg0QGSVyxSal83vNNSs8 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 6298B62E82C342ABB177691EC58EB9A9 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:19:08Z' + status: 202 Accepted + code: 202 + duration: 143.553095ms + - id: 28 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRRVk9SWk4tV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477651482071303&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=VXt6RmgBB2pNVz249lmR-Z0n5MUP12tCggH8sNrfS7E9E766CjBtNqUqdlyVebxQ-5PBUDzOdJz_IzvxK0kr72F1CovQj0VBl959g9x2jiTb9eui0RNw4Hr2bZSmB3t0Jg5e5mkszEV35p5nVbhjHzgvnPE-OQ-Bt8VVyLhztD9uOLR3fXsjEQPh170Vt1WpgM2g6GTmQTdEPU2y-2gaCHF1iJWjm5XrDhXBFYMw1pCbnaREPj_keJh1WNR-kB8VdyQTOx7c3LUKwEaCnMTd0zW-DPbPgn45_ebuXeTkJRXD30TlUJ7jbjH51RG1jTyoX0FGaLbu-1X7gWTOPQubJQ&h=ZldG6gKasBEJYNSJLg2TCTWUg0QGSVyxSal83vNNSs8 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRRVk9SWk4tV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477651634211395&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=fMq_jNTbA53PhUL-lXY8N1eIHiLqupLtMsG-u-yZWsl5fe_Kpvsz4C51kwYiLtYHZIfFkYcy3embcYM9w59lKBSWrpjAdCUgwbOeOapUXje1l-Nlil-Nh_6Leg6bhND7wSFxwZ4KLRWhTedGn_0n-WmO6bZpgF2GInOD32qWV9mt1FLoSk3okWqHiMpZAsImHAmfIPIThx---TD24NZ-EfvwhjLdBp_oBWeoxH1ibcDwv9UEoCwMod5aAbIFzkx4IFAXroph24BUKBOIESQy9ogkwpxK7GrljNUEgvIiMs7k7Slrwt0i47ssJuktH9X5mqNZh02E_ga6gOupbDahPg&h=M9kPfpxveLi8wq8x0i82bD-JVpAzCBL_cMMKD6AU7_E + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: C602639CF33246588CD7B798669DC51F Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:19:23Z' + status: 202 Accepted + code: 202 + duration: 34.683551ms + - id: 29 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRRVk9SWk4tV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477651482071303&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=VXt6RmgBB2pNVz249lmR-Z0n5MUP12tCggH8sNrfS7E9E766CjBtNqUqdlyVebxQ-5PBUDzOdJz_IzvxK0kr72F1CovQj0VBl959g9x2jiTb9eui0RNw4Hr2bZSmB3t0Jg5e5mkszEV35p5nVbhjHzgvnPE-OQ-Bt8VVyLhztD9uOLR3fXsjEQPh170Vt1WpgM2g6GTmQTdEPU2y-2gaCHF1iJWjm5XrDhXBFYMw1pCbnaREPj_keJh1WNR-kB8VdyQTOx7c3LUKwEaCnMTd0zW-DPbPgn45_ebuXeTkJRXD30TlUJ7jbjH51RG1jTyoX0FGaLbu-1X7gWTOPQubJQ&h=ZldG6gKasBEJYNSJLg2TCTWUg0QGSVyxSal83vNNSs8 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRRVk9SWk4tV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477651784992304&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=GR8yL87UA7TUzNv5m4bMOIPX_h8IoiQ1Z0layvieJafmzHb_WxTozoUWZ5_4TaCXXvp_U7kRPW8OIBC_RnruTIF81saFlnsKgOdPjTzgwVTl49xDv3i0nl8krvYkwvS16F9-jjRrJfvGKrNKBOoK5fJ6s__KF3w6KixzWBAI4q1Q9qDcrDY_v606JTLZ-kA62sHXTo9fxZle4DhPcdvUUr6gDCI08FdgjnnOiRH5QX2aZmBUqyGzUXi8rxNLb-0-ROpvVC4n_U8PcR4IMWfrpZeZUBvonq03Xok9_Y6tfCwyaKsfqWJzOUTYCJ1u1Rn4aq01DZen_bVulXSmANB12Q&h=ELNIWtHmHgxP8S_wOwolGLCqQqF-k7Ye1FwiaVeOVt0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 4C879C97A95B4DB6A3D6403E555E2BF6 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:19:38Z' + status: 202 Accepted + code: 202 + duration: 30.172358ms + - id: 30 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRRVk9SWk4tV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477651482071303&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=VXt6RmgBB2pNVz249lmR-Z0n5MUP12tCggH8sNrfS7E9E766CjBtNqUqdlyVebxQ-5PBUDzOdJz_IzvxK0kr72F1CovQj0VBl959g9x2jiTb9eui0RNw4Hr2bZSmB3t0Jg5e5mkszEV35p5nVbhjHzgvnPE-OQ-Bt8VVyLhztD9uOLR3fXsjEQPh170Vt1WpgM2g6GTmQTdEPU2y-2gaCHF1iJWjm5XrDhXBFYMw1pCbnaREPj_keJh1WNR-kB8VdyQTOx7c3LUKwEaCnMTd0zW-DPbPgn45_ebuXeTkJRXD30TlUJ7jbjH51RG1jTyoX0FGaLbu-1X7gWTOPQubJQ&h=ZldG6gKasBEJYNSJLg2TCTWUg0QGSVyxSal83vNNSs8 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRRVk9SWk4tV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477651935575322&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=NHrANcGOR6fPUucUJjrX_wtEuKQyMBUbhVApBY_M-XsmTnz5GoTQZWug63j-rTqY0KeUWK4YBYUxqEyXnszz0KcbD6iI_aRd2pjK7ju6to0c1nBIF-wdeAKOMcyGVXfwsx7ImEA5JuqDkL41RGDfzrz9nGrA8muJT_X6lENI66cxRlYKqxG1RnPzjevQE4AxAiHTa4gervsVcX1puD7LOkZ-vsMb_VJZepDwAhbiizu9kqRTm0Chh2fsRwiVFYk-TPaLtyK_leoDtvCOvdRLRD_QUKLnTrh4u4otcGi0P7_pOTvvhMt6kQQx0-F8V4oLqxdKbfDqqyc9qoxqBYuhpg&h=V4ub4jeMQ6kv0w1KGGXCDkyD7Z37moyilzhDA9fsLFk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: C03A19A0C7B84BDDB77982E539D4ADCB Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:19:53Z' + status: 202 Accepted + code: 202 + duration: 27.685861ms + - id: 31 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRRVk9SWk4tV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477651482071303&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=VXt6RmgBB2pNVz249lmR-Z0n5MUP12tCggH8sNrfS7E9E766CjBtNqUqdlyVebxQ-5PBUDzOdJz_IzvxK0kr72F1CovQj0VBl959g9x2jiTb9eui0RNw4Hr2bZSmB3t0Jg5e5mkszEV35p5nVbhjHzgvnPE-OQ-Bt8VVyLhztD9uOLR3fXsjEQPh170Vt1WpgM2g6GTmQTdEPU2y-2gaCHF1iJWjm5XrDhXBFYMw1pCbnaREPj_keJh1WNR-kB8VdyQTOx7c3LUKwEaCnMTd0zW-DPbPgn45_ebuXeTkJRXD30TlUJ7jbjH51RG1jTyoX0FGaLbu-1X7gWTOPQubJQ&h=ZldG6gKasBEJYNSJLg2TCTWUg0QGSVyxSal83vNNSs8 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + 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: BFF32E9D9CC04D41BD0E7729668F8331 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:20:08Z' + status: 200 OK + code: 200 + duration: 25.233666ms + - id: 32 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 109 + uncompressed: false + body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-qvorzn'' could not be found."}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "109" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: D20D678AE01D466F9D5240C93BE5FEB5 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:20:13Z' + status: 404 Not Found + code: 404 + duration: 63.026414ms + - id: 33 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy?api-version=2021-05-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 109 + uncompressed: false + body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-qvorzn'' could not be found."}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "109" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: C6D6CCA73E0D4584AC10DD7C1C581894 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:20:13Z' + status: 404 Not Found + code: 404 + duration: 73.368899ms + - id: 34 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy/databases/asotestzduipo?api-version=2021-05-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 239 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotestbqaovy'' under resource group ''asotest-rg-qvorzn'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "239" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 89E3FC7BD37E4740B1B5A58FBB542D3A Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:20:18Z' + status: 404 Not Found + code: 404 + duration: 73.307699ms + - id: 35 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-qvorzn/providers/Microsoft.DBforMySQL/flexibleServers/asotestbqaovy/firewallRules/asotestcrgyya?api-version=2021-05-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 239 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotestbqaovy'' under resource group ''asotest-rg-qvorzn'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "239" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 9A39BE2726C24BEF9864D03A906265EF Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:20:18Z' + status: 404 Not Found + code: 404 + duration: 111.238248ms diff --git a/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api20220101_CreationAndDeletion.yaml b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api20220101_CreationAndDeletion.yaml new file mode 100644 index 00000000000..6e904aad61c --- /dev/null +++ b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api20220101_CreationAndDeletion.yaml @@ -0,0 +1,1793 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 93 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-rg-mluzbf","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "93" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - b4ce265d14c7bb7ba85f5ebfdb9359b2a295d5e6848c33d04efcad0b21b382c6 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf?api-version=2020-06-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 276 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf","name":"asotest-rg-mluzbf","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "276" + Content-Type: + - application/json; charset=utf-8 + 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: 5D259810640840D7871392AD99D92D19 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:27Z' + status: 201 Created + code: 201 + duration: 200.088375ms + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf?api-version=2020-06-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 276 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf","name":"asotest-rg-mluzbf","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "276" + Content-Type: + - application/json; charset=utf-8 + 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: 0181CD3415334C10B9AFF00A8BF4482A Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:27Z' + status: 200 OK + code: 200 + duration: 24.384448ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 44 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"adminidentity"}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "44" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - a3b7210e6287b9a23e20479a42cc4e409d61c7c904ab5be12aeee2bc44a2cebc + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 445 + uncompressed: false + body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mluzbf/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity","name":"adminidentity","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"b382fc33-2b84-44c3-bfed-e4e740f2ee21","clientId":"375fab6d-574b-4253-8557-c56a51d37b61"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "445" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mluzbf/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: A499C8D18CDB43EFA53AB650D3540EEC Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:33Z' + status: 201 Created + code: 201 + duration: 1.037257112s + - id: 3 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 44 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"adminidentity"}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "44" + Content-Type: + - application/json + Test-Request-Attempt: + - "1" + Test-Request-Hash: + - a3b7210e6287b9a23e20479a42cc4e409d61c7c904ab5be12aeee2bc44a2cebc + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 445 + uncompressed: false + body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mluzbf/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity","name":"adminidentity","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"b382fc33-2b84-44c3-bfed-e4e740f2ee21","clientId":"375fab6d-574b-4253-8557-c56a51d37b61"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "445" + Content-Type: + - application/json; charset=utf-8 + 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: F93F81384DF745E9BDB330F2A76117AF Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:36Z' + status: 200 OK + code: 200 + duration: 209.40996ms + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 445 + uncompressed: false + body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mluzbf/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity","name":"adminidentity","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"b382fc33-2b84-44c3-bfed-e4e740f2ee21","clientId":"375fab6d-574b-4253-8557-c56a51d37b61"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "445" + Content-Type: + - application/json; charset=utf-8 + 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: 0109367DD0334CA7AF6B3E02408DF56A Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:36Z' + status: 200 OK + code: 200 + duration: 127.189232ms + - id: 5 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 504 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity":{}}},"location":"eastus","name":"asotestchuegt","properties":{"administratorLogin":"myAdmin","administratorLoginPassword":"{PASSWORD}","storage":{"storageSizeGB":128},"version":"8.0.21"},"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "504" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 61f614e0edfc8a4c0f8faf89d7c24c47ea29d58d7b23e8ce872dea379e5c6b8c + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt?api-version=2021-05-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 88 + uncompressed: false + body: '{"operation":"UpsertServerManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/23239f45-7077-4ab9-a263-8d3fcd28a2d6?api-version=2021-05-01&t=638477646996250421&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=JYi48sukF-EREZ0EYLWM1K2aKBbDxH_YOeA0kn76H7uWRoNYGEy0BivM_ql_ySp8q4-6bH5MsRuKcQn7c7ar3xRDnaIg5cv-J30cJzWK4PsSaYfbgxMx_XDPcWl9ihUG_0K76siY011jhfRwefhI98eDYp6-AOS15QO3lLsry_9IqToK3d2UBqrmW6sSDPMM4jpglUTzI8jAbODSJ8g3_gHnbBpBadRowondnU2bybTHqFqI0B-dV0tXIai2nusUKx-xGAjgarVBZiehL4-MEph2XxIvmz2ODZ-XbYxZrG3U4hcPM1hx4hPDaNDAVqi4S2dOfUMwm5BP5gWZv_Ry0g&h=N6FlrPNUsb_fVwF5HmQRV35Z2ibCSmQ5mk3cfaSUsOw + Cache-Control: + - no-cache + Content-Length: + - "88" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/23239f45-7077-4ab9-a263-8d3fcd28a2d6?api-version=2021-05-01&t=638477646996406657&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=nxyQyPduLRhD4PRI3lNEjhCjOhND9WhC0JAnh6h8Aqnhyp7gGT_wzAgANvi3CgWSAddZkzIUvI3lzVgJALSnQW7v0QxrWSYN3CTTKArYlmfP8vSZ6z9LNBIcgTyoDSElkRA3K85X4QLXndHt69IeVIEEHVPaWVGlebVv1VSMYtd_pAydj_ZXUtL87xyRgQQ19GdQVCLqbdMqYJYoadxjU7WOSdH_i0qgxCT2DaUBWud7XV9zKatHuuX_bxol2X-IirDbYxcsKDBcqsMIF721-_319rfd7tsn4RluYAf_krjKrAmn6fiuM3sJkcVPrHwrQ-LSDrPA7NTOaRObQ_KMxQ&h=cN5yYjo5fhBck6Pj-iek1jAC28RT5tdD4B8u3MxVRns + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 368CD6E79D6D43FA985473689C4E98DD Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:38Z' + status: 202 Accepted + code: 202 + duration: 1.605167734s + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/23239f45-7077-4ab9-a263-8d3fcd28a2d6?api-version=2021-05-01&t=638477646996250421&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=JYi48sukF-EREZ0EYLWM1K2aKBbDxH_YOeA0kn76H7uWRoNYGEy0BivM_ql_ySp8q4-6bH5MsRuKcQn7c7ar3xRDnaIg5cv-J30cJzWK4PsSaYfbgxMx_XDPcWl9ihUG_0K76siY011jhfRwefhI98eDYp6-AOS15QO3lLsry_9IqToK3d2UBqrmW6sSDPMM4jpglUTzI8jAbODSJ8g3_gHnbBpBadRowondnU2bybTHqFqI0B-dV0tXIai2nusUKx-xGAjgarVBZiehL4-MEph2XxIvmz2ODZ-XbYxZrG3U4hcPM1hx4hPDaNDAVqi4S2dOfUMwm5BP5gWZv_Ry0g&h=N6FlrPNUsb_fVwF5HmQRV35Z2ibCSmQ5mk3cfaSUsOw + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"23239f45-7077-4ab9-a263-8d3fcd28a2d6","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 606EE8696C1A46258561EC6022138E07 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:43Z' + status: 200 OK + code: 200 + duration: 157.99627ms + - id: 7 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/23239f45-7077-4ab9-a263-8d3fcd28a2d6?api-version=2021-05-01&t=638477646996250421&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=JYi48sukF-EREZ0EYLWM1K2aKBbDxH_YOeA0kn76H7uWRoNYGEy0BivM_ql_ySp8q4-6bH5MsRuKcQn7c7ar3xRDnaIg5cv-J30cJzWK4PsSaYfbgxMx_XDPcWl9ihUG_0K76siY011jhfRwefhI98eDYp6-AOS15QO3lLsry_9IqToK3d2UBqrmW6sSDPMM4jpglUTzI8jAbODSJ8g3_gHnbBpBadRowondnU2bybTHqFqI0B-dV0tXIai2nusUKx-xGAjgarVBZiehL4-MEph2XxIvmz2ODZ-XbYxZrG3U4hcPM1hx4hPDaNDAVqi4S2dOfUMwm5BP5gWZv_Ry0g&h=N6FlrPNUsb_fVwF5HmQRV35Z2ibCSmQ5mk3cfaSUsOw + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"23239f45-7077-4ab9-a263-8d3fcd28a2d6","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: B600C4C3326F460F8FDC46902C52CDE8 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:12:43Z' + status: 200 OK + code: 200 + duration: 378.667557ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/23239f45-7077-4ab9-a263-8d3fcd28a2d6?api-version=2021-05-01&t=638477646996250421&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=JYi48sukF-EREZ0EYLWM1K2aKBbDxH_YOeA0kn76H7uWRoNYGEy0BivM_ql_ySp8q4-6bH5MsRuKcQn7c7ar3xRDnaIg5cv-J30cJzWK4PsSaYfbgxMx_XDPcWl9ihUG_0K76siY011jhfRwefhI98eDYp6-AOS15QO3lLsry_9IqToK3d2UBqrmW6sSDPMM4jpglUTzI8jAbODSJ8g3_gHnbBpBadRowondnU2bybTHqFqI0B-dV0tXIai2nusUKx-xGAjgarVBZiehL4-MEph2XxIvmz2ODZ-XbYxZrG3U4hcPM1hx4hPDaNDAVqi4S2dOfUMwm5BP5gWZv_Ry0g&h=N6FlrPNUsb_fVwF5HmQRV35Z2ibCSmQ5mk3cfaSUsOw + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"23239f45-7077-4ab9-a263-8d3fcd28a2d6","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 0D5986CE18054191AB8FC7A89DF0B741 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:13:44Z' + status: 200 OK + code: 200 + duration: 297.48475ms + - id: 9 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/23239f45-7077-4ab9-a263-8d3fcd28a2d6?api-version=2021-05-01&t=638477646996250421&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=JYi48sukF-EREZ0EYLWM1K2aKBbDxH_YOeA0kn76H7uWRoNYGEy0BivM_ql_ySp8q4-6bH5MsRuKcQn7c7ar3xRDnaIg5cv-J30cJzWK4PsSaYfbgxMx_XDPcWl9ihUG_0K76siY011jhfRwefhI98eDYp6-AOS15QO3lLsry_9IqToK3d2UBqrmW6sSDPMM4jpglUTzI8jAbODSJ8g3_gHnbBpBadRowondnU2bybTHqFqI0B-dV0tXIai2nusUKx-xGAjgarVBZiehL4-MEph2XxIvmz2ODZ-XbYxZrG3U4hcPM1hx4hPDaNDAVqi4S2dOfUMwm5BP5gWZv_Ry0g&h=N6FlrPNUsb_fVwF5HmQRV35Z2ibCSmQ5mk3cfaSUsOw + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"23239f45-7077-4ab9-a263-8d3fcd28a2d6","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 7C33A26CC94E4C048C1F02621C7A5774 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:14:45Z' + status: 200 OK + code: 200 + duration: 310.704456ms + - id: 10 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/23239f45-7077-4ab9-a263-8d3fcd28a2d6?api-version=2021-05-01&t=638477646996250421&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=JYi48sukF-EREZ0EYLWM1K2aKBbDxH_YOeA0kn76H7uWRoNYGEy0BivM_ql_ySp8q4-6bH5MsRuKcQn7c7ar3xRDnaIg5cv-J30cJzWK4PsSaYfbgxMx_XDPcWl9ihUG_0K76siY011jhfRwefhI98eDYp6-AOS15QO3lLsry_9IqToK3d2UBqrmW6sSDPMM4jpglUTzI8jAbODSJ8g3_gHnbBpBadRowondnU2bybTHqFqI0B-dV0tXIai2nusUKx-xGAjgarVBZiehL4-MEph2XxIvmz2ODZ-XbYxZrG3U4hcPM1hx4hPDaNDAVqi4S2dOfUMwm5BP5gWZv_Ry0g&h=N6FlrPNUsb_fVwF5HmQRV35Z2ibCSmQ5mk3cfaSUsOw + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"23239f45-7077-4ab9-a263-8d3fcd28a2d6","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 536F7F540DF64E6ABB59FD5462C9BAA1 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:15:45Z' + status: 200 OK + code: 200 + duration: 322.833363ms + - id: 11 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/23239f45-7077-4ab9-a263-8d3fcd28a2d6?api-version=2021-05-01&t=638477646996250421&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=JYi48sukF-EREZ0EYLWM1K2aKBbDxH_YOeA0kn76H7uWRoNYGEy0BivM_ql_ySp8q4-6bH5MsRuKcQn7c7ar3xRDnaIg5cv-J30cJzWK4PsSaYfbgxMx_XDPcWl9ihUG_0K76siY011jhfRwefhI98eDYp6-AOS15QO3lLsry_9IqToK3d2UBqrmW6sSDPMM4jpglUTzI8jAbODSJ8g3_gHnbBpBadRowondnU2bybTHqFqI0B-dV0tXIai2nusUKx-xGAjgarVBZiehL4-MEph2XxIvmz2ODZ-XbYxZrG3U4hcPM1hx4hPDaNDAVqi4S2dOfUMwm5BP5gWZv_Ry0g&h=N6FlrPNUsb_fVwF5HmQRV35Z2ibCSmQ5mk3cfaSUsOw + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"23239f45-7077-4ab9-a263-8d3fcd28a2d6","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: B2237CFCB25340CDBB5425E1C5E7774A Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:16:46Z' + status: 200 OK + code: 200 + duration: 293.054435ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1449 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mluzbf/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity":{"principalId":"b382fc33-2b84-44c3-bfed-e4e740f2ee21","tenantId":"00000000-0000-0000-0000-000000000000"}},"principalId":"00000000-0000-0000-0000-000000000000","type":"UserAssigned","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myAdmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotestchuegt.mysql.database.azure.com","availabilityZone":"1","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":7,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T18:21:45.0350139+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt","name":"asotestchuegt","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1449" + Content-Type: + - application/json; charset=utf-8 + 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: 57BCC8EF832B42A091030797E195019A Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:16:46Z' + status: 200 OK + code: 200 + duration: 354.499839ms + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt?api-version=2021-05-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1449 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mluzbf/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity":{"principalId":"b382fc33-2b84-44c3-bfed-e4e740f2ee21","tenantId":"00000000-0000-0000-0000-000000000000"}},"principalId":"00000000-0000-0000-0000-000000000000","type":"UserAssigned","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myAdmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotestchuegt.mysql.database.azure.com","availabilityZone":"1","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":7,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T18:21:45.0350139+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt","name":"asotestchuegt","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1449" + Content-Type: + - application/json; charset=utf-8 + 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: F7281B61DF4043388CA8F397B677D614 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:16:47Z' + status: 200 OK + code: 200 + duration: 507.122197ms + - id: 14 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 79 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"max_connections","properties":{"source":"user-override","value":"20"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "79" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - b2de8c2d080b5500f2922ac481bfb2d6653a302197a52e0d055740cb3138943f + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt/configurations/max_connections?api-version=2022-01-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 97 + uncompressed: false + body: '{"operation":"UpdateServerParameterManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/c32f4004-f56b-4679-b8f5-68fc3ac92ac3?api-version=2022-01-01&t=638477650618281621&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Yb3ubiv_1sp7-qvNhl-Fu4yyfceuWU-L_Phq7iPvGmEM7UddA9HwnrWC-gvETO8qY0yPyIf5_2CH9CxGyoKjpc8b-DM9kgCih_4Y6tcHglAsUdOrcVTvHhYQp26V3Q67adIbTIqaXqaTVIOuJxpoWS-n6XLwdSxXV8h83f0d4GPpHilVdmGqus12FjKJ2ci4fx8e_FzgQEmEG9YUGI2oAkkQyMyvlkw5bR5TA3TP3zJ_02duqSRmZUE16YA6TYlCJfpBf5s8-di4zFkhmBaGeyrNbo-9_hFkw49NMqPpUeiVPMwXampmCp9z_JBuhP26d6ufFYqNPuk3_Ss0su5WOg&h=4dFO5nSZzM86C2Ck8byRokdpoa8MJIIbcVA5jQsatjo + Cache-Control: + - no-cache + Content-Length: + - "97" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/c32f4004-f56b-4679-b8f5-68fc3ac92ac3?api-version=2022-01-01&t=638477650618281621&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=wRM_RH2BjVU99FaPauHD-RTaACGPRzgHRcYqWsno2XW2n5WZ5YhZzTRA_h_5ssbOmwcqQpwcXM97CiFWUFXoSZUrxnwHgxPQ-yVfBvWf7Z7hCvLz419O2lQqUvpoKWOfvkpxTvPdROGybD26EVUiMhxQLAyHFmn8mPqLnbLBTLnpLNObNgVHV2eESnQMSDd_lu3x-o0ywnxreilMW9CGVPB_qTTezcZIqBukGdi3PzJPZ9OIxmRjN1p6hYUNaTfVLoPv_6Rl3Z5J53VAJgLuBh6b-Vr7HM_U4H4Mqedb1OuAFlJB7mnqWbU4uen091fJd52-O439H__KpMB-B9rKYA&h=EJTfMUVIIPsm2C5cOYYjqS87uZ0ODm05m5Wrb67jclM + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 2D53C4E593374C16A9C8D68A9D6236B2 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:41Z' + status: 202 Accepted + code: 202 + duration: 445.293423ms + - id: 15 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 379 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"ActiveDirectory","properties":{"administratorType":"ActiveDirectory","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity","login":"adminidentity","sid":"375fab6d-574b-4253-8557-c56a51d37b61","tenantId":"00000000-0000-0000-0000-000000000000"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "379" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 46c5944f4ef41f60157c42c7912d03170d61aea41ee7394481eb0627ae44e42d + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt/administrators/ActiveDirectory?api-version=2022-01-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"operation":"UpsertActiveDirectoryAdministratorManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/f84ed6ab-6f0f-4af2-95bc-d7b5aaec27b0?api-version=2022-01-01&t=638477650625511163&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=wyyv14968j131L56KSNobfk909FBqbhdzcDEiRjZZelU5FDBGH-TXmA658oszhg3xDHVB3iM9o1JnWAPDD6qJKCd7lsyKZYqd8wfr9vm3giQdvJoVt0C2cOG6tDNVbQ_rl5xnhl0NS0VKpTWR7kQ2WrbHqcKAQg6CTUjO16EWB2BKcPmZ-a8zIySUz2GhOhkywo3MeYZAtt2HjGJErv03dYFoWBEpnBTqx9T056YAtgHdt04ccc7Neyfn4RV2NFDnFNXbbFW18ErxyoQ4iPjmjJCR3ANrYfbyyBluHe47sj4ccuqwIfhXsu187LvNGfIJtQvZcAghnEcIr518_Kz7w&h=TScGLxhF2QRyyL2UQmYhVGgWu9aNvl0vdM_wEtBK4zw + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/f84ed6ab-6f0f-4af2-95bc-d7b5aaec27b0?api-version=2022-01-01&t=638477650625511163&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Ah4g8-kU4MQNQ8PlamTQB_ZGKlWQN0mqEeZ8t8bfAR2EWqpHsNFsmkjZh7UPD7gowasdaOSXKrtDDYrbaeeFqkkmTKijdgK1KUZg_UmeyKCgXIr_-Gdw-UiJow7Ab4woSGgCyUInUls35RttUHBHzWgW96LduiGmgiWSY-C4ZNUDUSZLBF1qCGp4V5RrY9DhNqh_fkDBzKo2k71-ajis25wXoY-ZSPuFBy3DF_pzMoG4gZNhrimXEgXpM651IAKs1wEALjnvXWS9gisYvzpB243Vhxek5YnKiVgtWrCbycoHj2c5nt658CAkg0QRgfCT-20lmlNTxqnE_zwyfXntrg&h=yI9p5LHce4Qa_2Wj5-qhJ44Y4P4a_Ri3L5l6kjQmFE0 + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 1BA9001E005A46EFA11FA53A0728383A Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:41Z' + status: 202 Accepted + code: 202 + duration: 1.148291555s + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/c32f4004-f56b-4679-b8f5-68fc3ac92ac3?api-version=2022-01-01&t=638477650618281621&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Yb3ubiv_1sp7-qvNhl-Fu4yyfceuWU-L_Phq7iPvGmEM7UddA9HwnrWC-gvETO8qY0yPyIf5_2CH9CxGyoKjpc8b-DM9kgCih_4Y6tcHglAsUdOrcVTvHhYQp26V3Q67adIbTIqaXqaTVIOuJxpoWS-n6XLwdSxXV8h83f0d4GPpHilVdmGqus12FjKJ2ci4fx8e_FzgQEmEG9YUGI2oAkkQyMyvlkw5bR5TA3TP3zJ_02duqSRmZUE16YA6TYlCJfpBf5s8-di4zFkhmBaGeyrNbo-9_hFkw49NMqPpUeiVPMwXampmCp9z_JBuhP26d6ufFYqNPuk3_Ss0su5WOg&h=4dFO5nSZzM86C2Ck8byRokdpoa8MJIIbcVA5jQsatjo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"c32f4004-f56b-4679-b8f5-68fc3ac92ac3","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: A84783ECB3114E35A2BB3E72F0D0EB2E Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:43Z' + status: 200 OK + code: 200 + duration: 111.575031ms + - id: 17 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/f84ed6ab-6f0f-4af2-95bc-d7b5aaec27b0?api-version=2022-01-01&t=638477650625511163&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=wyyv14968j131L56KSNobfk909FBqbhdzcDEiRjZZelU5FDBGH-TXmA658oszhg3xDHVB3iM9o1JnWAPDD6qJKCd7lsyKZYqd8wfr9vm3giQdvJoVt0C2cOG6tDNVbQ_rl5xnhl0NS0VKpTWR7kQ2WrbHqcKAQg6CTUjO16EWB2BKcPmZ-a8zIySUz2GhOhkywo3MeYZAtt2HjGJErv03dYFoWBEpnBTqx9T056YAtgHdt04ccc7Neyfn4RV2NFDnFNXbbFW18ErxyoQ4iPjmjJCR3ANrYfbyyBluHe47sj4ccuqwIfhXsu187LvNGfIJtQvZcAghnEcIr518_Kz7w&h=TScGLxhF2QRyyL2UQmYhVGgWu9aNvl0vdM_wEtBK4zw + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"f84ed6ab-6f0f-4af2-95bc-d7b5aaec27b0","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 8C42232D4D0E49DABBF83A37B01BEDF7 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:44Z' + status: 200 OK + code: 200 + duration: 246.009626ms + - id: 18 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/c32f4004-f56b-4679-b8f5-68fc3ac92ac3?api-version=2022-01-01&t=638477650618281621&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Yb3ubiv_1sp7-qvNhl-Fu4yyfceuWU-L_Phq7iPvGmEM7UddA9HwnrWC-gvETO8qY0yPyIf5_2CH9CxGyoKjpc8b-DM9kgCih_4Y6tcHglAsUdOrcVTvHhYQp26V3Q67adIbTIqaXqaTVIOuJxpoWS-n6XLwdSxXV8h83f0d4GPpHilVdmGqus12FjKJ2ci4fx8e_FzgQEmEG9YUGI2oAkkQyMyvlkw5bR5TA3TP3zJ_02duqSRmZUE16YA6TYlCJfpBf5s8-di4zFkhmBaGeyrNbo-9_hFkw49NMqPpUeiVPMwXampmCp9z_JBuhP26d6ufFYqNPuk3_Ss0su5WOg&h=4dFO5nSZzM86C2Ck8byRokdpoa8MJIIbcVA5jQsatjo + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"c32f4004-f56b-4679-b8f5-68fc3ac92ac3","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 0EE1CA21ED6147E990CF81A78B3452C0 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:58Z' + status: 200 OK + code: 200 + duration: 1.09879085s + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt/configurations/max_connections?api-version=2022-01-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 687 + uncompressed: false + body: '{"properties":{"value":"20","currentValue":"20","description":"The maximum permitted number of simultaneous client connections.","defaultValue":"1365","dataType":"Integer","allowedValues":"10-2731","source":"user-override","isConfigPendingRestart":"False","isDynamicConfig":"True","isReadOnly":"False","documentationLink":"https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt/configurations/max_connections","name":"max_connections","type":"Microsoft.DBforMySQL/flexibleServers/configurations"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "687" + Content-Type: + - application/json; charset=utf-8 + 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: 6BFD732A5C0A44A3B9627E29DBD5B374 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:00Z' + status: 200 OK + code: 200 + duration: 1.5337742s + - id: 20 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt/configurations/max_connections?api-version=2022-01-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 687 + uncompressed: false + body: '{"properties":{"value":"20","currentValue":"20","description":"The maximum permitted number of simultaneous client connections.","defaultValue":"1365","dataType":"Integer","allowedValues":"10-2731","source":"user-override","isConfigPendingRestart":"False","isDynamicConfig":"True","isReadOnly":"False","documentationLink":"https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt/configurations/max_connections","name":"max_connections","type":"Microsoft.DBforMySQL/flexibleServers/configurations"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "687" + Content-Type: + - application/json; charset=utf-8 + 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: 167B2794CE604D14BD4853D6DD28558A Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:03Z' + status: 200 OK + code: 200 + duration: 1.232472555s + - id: 21 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/f84ed6ab-6f0f-4af2-95bc-d7b5aaec27b0?api-version=2022-01-01&t=638477650625511163&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=wyyv14968j131L56KSNobfk909FBqbhdzcDEiRjZZelU5FDBGH-TXmA658oszhg3xDHVB3iM9o1JnWAPDD6qJKCd7lsyKZYqd8wfr9vm3giQdvJoVt0C2cOG6tDNVbQ_rl5xnhl0NS0VKpTWR7kQ2WrbHqcKAQg6CTUjO16EWB2BKcPmZ-a8zIySUz2GhOhkywo3MeYZAtt2HjGJErv03dYFoWBEpnBTqx9T056YAtgHdt04ccc7Neyfn4RV2NFDnFNXbbFW18ErxyoQ4iPjmjJCR3ANrYfbyyBluHe47sj4ccuqwIfhXsu187LvNGfIJtQvZcAghnEcIr518_Kz7w&h=TScGLxhF2QRyyL2UQmYhVGgWu9aNvl0vdM_wEtBK4zw + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"f84ed6ab-6f0f-4af2-95bc-d7b5aaec27b0","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 66A72C02912642C1B6242B27127D1B91 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:45Z' + status: 200 OK + code: 200 + duration: 104.916648ms + - id: 22 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/f84ed6ab-6f0f-4af2-95bc-d7b5aaec27b0?api-version=2022-01-01&t=638477650625511163&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=wyyv14968j131L56KSNobfk909FBqbhdzcDEiRjZZelU5FDBGH-TXmA658oszhg3xDHVB3iM9o1JnWAPDD6qJKCd7lsyKZYqd8wfr9vm3giQdvJoVt0C2cOG6tDNVbQ_rl5xnhl0NS0VKpTWR7kQ2WrbHqcKAQg6CTUjO16EWB2BKcPmZ-a8zIySUz2GhOhkywo3MeYZAtt2HjGJErv03dYFoWBEpnBTqx9T056YAtgHdt04ccc7Neyfn4RV2NFDnFNXbbFW18ErxyoQ4iPjmjJCR3ANrYfbyyBluHe47sj4ccuqwIfhXsu187LvNGfIJtQvZcAghnEcIr518_Kz7w&h=TScGLxhF2QRyyL2UQmYhVGgWu9aNvl0vdM_wEtBK4zw + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"f84ed6ab-6f0f-4af2-95bc-d7b5aaec27b0","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: E49DD8F6130C46DAA143031DB16FBF15 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:19:45Z' + status: 200 OK + code: 200 + duration: 402.690836ms + - id: 23 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt/administrators/ActiveDirectory?api-version=2022-01-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 624 + uncompressed: false + body: '{"properties":{"administratorType":"ActiveDirectory","login":"adminidentity","sid":"375fab6d-574b-4253-8557-c56a51d37b61","tenantId":"00000000-0000-0000-0000-000000000000","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mluzbf/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt/administrators/ActiveDirectory","name":"ActiveDirectory","type":"Microsoft.DBforMySQL/flexibleServers/administrators"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "624" + Content-Type: + - application/json; charset=utf-8 + 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: D701D7AFD47D49ED9C4A4D2081EC4685 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:19:46Z' + status: 200 OK + code: 200 + duration: 1.112483443s + - id: 24 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt/administrators/ActiveDirectory?api-version=2022-01-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 624 + uncompressed: false + body: '{"properties":{"administratorType":"ActiveDirectory","login":"adminidentity","sid":"375fab6d-574b-4253-8557-c56a51d37b61","tenantId":"00000000-0000-0000-0000-000000000000","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-mluzbf/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt/administrators/ActiveDirectory","name":"ActiveDirectory","type":"Microsoft.DBforMySQL/flexibleServers/administrators"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "624" + Content-Type: + - application/json; charset=utf-8 + 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: 0D509F9889C74A3B8FF02F0EE41A2F48 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:19:48Z' + status: 200 OK + code: 200 + duration: 1.040578146s + - id: 25 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf?api-version=2020-06-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNTFVaQkYtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477651929528069&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Kw51TGpvoQpdMz71bUl6mH7oW3EbM5vhLRMjaMBVJ1yDoovtHDETeb6qF1z4ZqwY5_nQ3v9bDXaY2zmjJE990gEOxKe2yRPy29etSN0wgG5mzIrLUcL5DK-VRr9Txz2dNfAyd7o99bstXDP48zJzxkkHo0PJHZaczetgaoN1P3vjvnpiTYZcmU9XsaZ-tVp1ldA4lhFsmGuqXyh2zT4gDM-nCASNX0gPGAKIERdL-yaDxrXbExwyBpZ5zzuZBSsYGlE10qo4MqODRWUJGHqSzWr6v-b9Usc8V5MshN8P0iHTFG_G-Y6WGaHAC0Ru7-uBjctW9YCUJ4RgkIx7phmFwA&h=u0c9B2RwNnQJG1ch_icg9yNoR6-rZAzGUaZhdGK7shk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 837711467D174448861A037C40A0A831 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:19:52Z' + status: 202 Accepted + code: 202 + duration: 157.494181ms + - id: 26 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNTFVaQkYtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477651929528069&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Kw51TGpvoQpdMz71bUl6mH7oW3EbM5vhLRMjaMBVJ1yDoovtHDETeb6qF1z4ZqwY5_nQ3v9bDXaY2zmjJE990gEOxKe2yRPy29etSN0wgG5mzIrLUcL5DK-VRr9Txz2dNfAyd7o99bstXDP48zJzxkkHo0PJHZaczetgaoN1P3vjvnpiTYZcmU9XsaZ-tVp1ldA4lhFsmGuqXyh2zT4gDM-nCASNX0gPGAKIERdL-yaDxrXbExwyBpZ5zzuZBSsYGlE10qo4MqODRWUJGHqSzWr6v-b9Usc8V5MshN8P0iHTFG_G-Y6WGaHAC0Ru7-uBjctW9YCUJ4RgkIx7phmFwA&h=u0c9B2RwNnQJG1ch_icg9yNoR6-rZAzGUaZhdGK7shk + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNTFVaQkYtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477652081734776&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=JA9D32lhFoOKGLZjeFR7DU-2GO3dYdFLyFjI4henqA6jf1DYXdvN3Xfvsc3FNmrFFv5jPcAUjEp2DqbyLpHfDdZ4XeXWphT8bj19rw6kg2UO3LJQL2UWKXPt-LOhITYXV09WaSE79Q8sFX9u1MH0d_7-2Ok2Dg7849oaN1KC4Z1jMRC04Lr8U9Cv36KMLHbffGGtQLuXMMs_AHsQfq7uC5c7z_xrIhyBdWnX9_CJG5npvIsSPgoDgJfIUgZyB04FiWTswWIw5vENBdyXNPf-7DzdLcEG07dvphTLwO3FXpBDSrCj2TjY5ZgkEpcMiqEv3ZtIHfaC8pQ6NFlhMXUtog&h=gQ4kZfL6gqZR9iamZBdRPAAEl_urj4pAvEpcsF8A1NQ + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 6E0C1FE16B2B48B5B99261AB9F5A863A Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:20:08Z' + status: 202 Accepted + code: 202 + duration: 32.663555ms + - id: 27 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNTFVaQkYtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477651929528069&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Kw51TGpvoQpdMz71bUl6mH7oW3EbM5vhLRMjaMBVJ1yDoovtHDETeb6qF1z4ZqwY5_nQ3v9bDXaY2zmjJE990gEOxKe2yRPy29etSN0wgG5mzIrLUcL5DK-VRr9Txz2dNfAyd7o99bstXDP48zJzxkkHo0PJHZaczetgaoN1P3vjvnpiTYZcmU9XsaZ-tVp1ldA4lhFsmGuqXyh2zT4gDM-nCASNX0gPGAKIERdL-yaDxrXbExwyBpZ5zzuZBSsYGlE10qo4MqODRWUJGHqSzWr6v-b9Usc8V5MshN8P0iHTFG_G-Y6WGaHAC0Ru7-uBjctW9YCUJ4RgkIx7phmFwA&h=u0c9B2RwNnQJG1ch_icg9yNoR6-rZAzGUaZhdGK7shk + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNTFVaQkYtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477652232650815&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=r7hJwhYSsAZi_UYbSmS04kiG6eDMZPJ2bQScLQc7TRV1HkgF06Dg2gpVuhLf9fVgc3jyXxgFp5mVHAP2r0kHEO4TKiUh50YuUG4EJwtLTbnRFdA4B9E5CCdqmJMW8Q2awbR2PFN80vg0iIBVj8e4XGMmaHOkr7DKbGuDZ5kRDEn3jJpFcYxHVZ7Kw17bgm94rIxqVTWZwhTgOuREbbtKT4qWGpXj_-KHoZA0yoG5O0p4Tn5leZIKXDxSfS2G_KK3AGbxP6h8ctefsdb91p9WuQWDEKaxtmkQ-F5NAkoeKlYEifQbSWa_XyYo6nuLKYFjBZ5jg4LtWfgxbIChSDLZhw&h=eA1j271tdZTH5weLsb36CIhF9RA6qh8aEAHPpDFMirQ + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: CCA1F92C1C3F4976AB7A2996473D5254 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:20:23Z' + status: 202 Accepted + code: 202 + duration: 35.273452ms + - id: 28 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNTFVaQkYtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477651929528069&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Kw51TGpvoQpdMz71bUl6mH7oW3EbM5vhLRMjaMBVJ1yDoovtHDETeb6qF1z4ZqwY5_nQ3v9bDXaY2zmjJE990gEOxKe2yRPy29etSN0wgG5mzIrLUcL5DK-VRr9Txz2dNfAyd7o99bstXDP48zJzxkkHo0PJHZaczetgaoN1P3vjvnpiTYZcmU9XsaZ-tVp1ldA4lhFsmGuqXyh2zT4gDM-nCASNX0gPGAKIERdL-yaDxrXbExwyBpZ5zzuZBSsYGlE10qo4MqODRWUJGHqSzWr6v-b9Usc8V5MshN8P0iHTFG_G-Y6WGaHAC0Ru7-uBjctW9YCUJ4RgkIx7phmFwA&h=u0c9B2RwNnQJG1ch_icg9yNoR6-rZAzGUaZhdGK7shk + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNTFVaQkYtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477652383412145&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=vY4tJSIBA4YH-FFm93KVW1_wNfBbhTH9DlmE_AACz2m2GarHAoIF-ZpADbDeZFpyAXEqNKqoZgNZVttp-i3pqqgtCHpukzLZJFJa2WhHKMH9KvikkrFtF7W5ROhHG9Hp-UVqiKnBqIJRw78rWemccdcj5DKBRkfbExbF2qe_VLaYuTwKVsOPVBC0s7pwtVBDHV3USM9FH_3sdBXYGYPdixXuhSxXvwFZNxl1gjA-Smj5NVUE0cycpsF7jXQPQvxvW6EHZdMStGhoxwJcPeUrNA7BUVrt7Bk-7TojaxjK36P-HgIeCndmyRxiLkdB34RyqTqy5rp_90tgril-fwTp-Q&h=Q2ZGabMeHGg5is61Fsdz2EqoG_lZNy2_3aVzjGWLyB0 + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 6B9E1A8737B14E248278B6AEDE020D1F Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:20:38Z' + status: 202 Accepted + code: 202 + duration: 31.599957ms + - id: 29 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRNTFVaQkYtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477651929528069&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Kw51TGpvoQpdMz71bUl6mH7oW3EbM5vhLRMjaMBVJ1yDoovtHDETeb6qF1z4ZqwY5_nQ3v9bDXaY2zmjJE990gEOxKe2yRPy29etSN0wgG5mzIrLUcL5DK-VRr9Txz2dNfAyd7o99bstXDP48zJzxkkHo0PJHZaczetgaoN1P3vjvnpiTYZcmU9XsaZ-tVp1ldA4lhFsmGuqXyh2zT4gDM-nCASNX0gPGAKIERdL-yaDxrXbExwyBpZ5zzuZBSsYGlE10qo4MqODRWUJGHqSzWr6v-b9Usc8V5MshN8P0iHTFG_G-Y6WGaHAC0Ru7-uBjctW9YCUJ4RgkIx7phmFwA&h=u0c9B2RwNnQJG1ch_icg9yNoR6-rZAzGUaZhdGK7shk + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + 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: 9E6181428C10404094D1BA366431DE48 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:20:53Z' + status: 200 OK + code: 200 + duration: 28.688161ms + - id: 30 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 109 + uncompressed: false + body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-mluzbf'' could not be found."}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "109" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 392F0A029E104421ADB23CC8F420A1E6 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:20:57Z' + status: 404 Not Found + code: 404 + duration: 61.366318ms + - id: 31 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt?api-version=2021-05-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 109 + uncompressed: false + body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-mluzbf'' could not be found."}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "109" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: B2E4ED46B2E24A9AA44E1F20A85324E1 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:20:57Z' + status: 404 Not Found + code: 404 + duration: 70.737705ms + - id: 32 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt/configurations/max_connections?api-version=2022-01-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 239 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotestchuegt'' under resource group ''asotest-rg-mluzbf'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "239" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: BB8C1CE28BFF4EAFB115A04618A29DB5 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:21:02Z' + status: 404 Not Found + code: 404 + duration: 71.189905ms + - id: 33 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-mluzbf/providers/Microsoft.DBforMySQL/flexibleServers/asotestchuegt/administrators/ActiveDirectory?api-version=2022-01-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 239 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotestchuegt'' under resource group ''asotest-rg-mluzbf'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "239" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: BB046A9B30BB4B0A909B576154273233 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:21:02Z' + status: 404 Not Found + code: 404 + duration: 96.687771ms diff --git a/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api20230630_CreationAndDeletion.yaml b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api20230630_CreationAndDeletion.yaml new file mode 100644 index 00000000000..7a26c47b3f1 --- /dev/null +++ b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api20230630_CreationAndDeletion.yaml @@ -0,0 +1,3041 @@ +--- +version: 2 +interactions: + - id: 0 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 93 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"westus2","name":"asotest-rg-ibulhj","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "93" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - d9887e62ca031f8f2a270cd0685c6b46f19a5b9095a5ca3594c625365362f6a2 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj?api-version=2020-06-01 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 276 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj","name":"asotest-rg-ibulhj","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "276" + Content-Type: + - application/json; charset=utf-8 + 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: C37EDC81F40B4FA8858A259B73A809BE Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:27Z' + status: 201 Created + code: 201 + duration: 234.794302ms + - id: 1 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj?api-version=2020-06-01 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 276 + uncompressed: false + body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj","name":"asotest-rg-ibulhj","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "276" + Content-Type: + - application/json; charset=utf-8 + 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: 61F0EEF5C8FB4B4890FD81520B35A10C Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:27Z' + status: 200 OK + code: 200 + duration: 26.264244ms + - id: 2 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 44 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"adminidentity"}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "44" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - a3b7210e6287b9a23e20479a42cc4e409d61c7c904ab5be12aeee2bc44a2cebc + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 445 + uncompressed: false + body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ibulhj/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity","name":"adminidentity","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"52d6952f-8013-4f31-82d2-4311b09a43a1","clientId":"68b655da-06a5-4b4c-94fd-76b6ff600b55"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "445" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ibulhj/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 9B6282B281F84C9CB12E106EBBEB0C3F Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:33Z' + status: 201 Created + code: 201 + duration: 1.214860739s + - id: 3 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 44 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"location":"eastus","name":"adminidentity"}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "44" + Content-Type: + - application/json + Test-Request-Attempt: + - "1" + Test-Request-Hash: + - a3b7210e6287b9a23e20479a42cc4e409d61c7c904ab5be12aeee2bc44a2cebc + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 445 + uncompressed: false + body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ibulhj/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity","name":"adminidentity","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"52d6952f-8013-4f31-82d2-4311b09a43a1","clientId":"68b655da-06a5-4b4c-94fd-76b6ff600b55"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "445" + Content-Type: + - application/json; charset=utf-8 + 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: 4B120F590BA64C9D8E3C281E36A86219 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:36Z' + status: 200 OK + code: 200 + duration: 404.107351ms + - id: 4 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 445 + uncompressed: false + body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ibulhj/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity","name":"adminidentity","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"52d6952f-8013-4f31-82d2-4311b09a43a1","clientId":"68b655da-06a5-4b4c-94fd-76b6ff600b55"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "445" + Content-Type: + - application/json; charset=utf-8 + 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: B4B45B5CA6F344329CDA7D4CB1021F63 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:37Z' + status: 200 OK + code: 200 + duration: 254.378366ms + - id: 5 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 509 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity":{}}},"location":"eastus","name":"asotestqxsskd","properties":{"administratorLogin":"myAdmin","administratorLoginPassword":"{PASSWORD}","storage":{"storageSizeGB":128},"version":"8.0.21"},"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "509" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 193017683281cae028b06d26fcebfdf7a7ecbc28dc2341d1c1ffdd8a9e2462b3 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd?api-version=2023-06-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 88 + uncompressed: false + body: '{"operation":"UpsertServerManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/a154c3c9-054e-432a-b305-e39a21904487?api-version=2023-06-30&t=638477647048705845&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=c54H82OlN5_6wypaYFbz0OiEnsfaicDAUiO-sND3CKkIQF8Ufl5egGm4WcYenJMCCuKi1LXE_xcAoSb1IODG1MQlRPDXnInwmWHJsxhJOmOIAlO5QM8CWBKjNEZ-2WnQ3ZqgwaKV_cfbHY-mX9fyrZYE6WBngQfFGDl24ba5Q53j5l7tqVVb_tyAz2BxgicP0VIY6bT2lVQHbXdA8NDMIyfj8N970Us8w90hQAxBrQUS49I7LW0Cfn7X430hP5YmEIHZcSFzbX4aS-rsXqh_rF36ObVh3J6yv8ijfL630EJP0LtBrmjvJy4ra9mB-RHp6eih1BwKo-agRDUxaElgMw&h=R7VK1G98tn2i-fLXWXW9cebiPDZ4mhEpb6fo-nqm_ag + Cache-Control: + - no-cache + Content-Length: + - "88" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/a154c3c9-054e-432a-b305-e39a21904487?api-version=2023-06-30&t=638477647048705845&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=rXzAX3-jZ2_sQhT58chtrdPsD44TumGXVZrPH3IdXD9mtN-7G6PqhB4lj_--p1-eego8KDoZ8UXnkq5I01uYxPk2lH9OwUP0WYvGC4iU8zYVi-k-LR1qYtZJLo4dSbhQtabW84ONIdmkp1xFjcNy6ZkT6WCxkEP0btDsrCi_lQkjWGqiqGt06WOMueVU73cYfP8CvqjAKvgvVs6hn5Yi3-aVXjpL-CG0tJZwU7ctTQsgwwR6JpT1GHmjtaXt5oVRS0XPM-py3Mo_ndyTMjVraXUWyBMeGV6Tg6mPz8HYa9VfKCbGSgU6xI6ELHXhTM1IR-KLrYKiiVexoCRnuztqTQ&h=pUVtWACAzzF-VljU5KYIUQ62bK3ZvgnpsQdGW-ial-Y + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 3E966E3AD3204F6FB5220A0F750FEB8F Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:43Z' + status: 202 Accepted + code: 202 + duration: 1.528555912s + - id: 6 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/a154c3c9-054e-432a-b305-e39a21904487?api-version=2023-06-30&t=638477647048705845&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=c54H82OlN5_6wypaYFbz0OiEnsfaicDAUiO-sND3CKkIQF8Ufl5egGm4WcYenJMCCuKi1LXE_xcAoSb1IODG1MQlRPDXnInwmWHJsxhJOmOIAlO5QM8CWBKjNEZ-2WnQ3ZqgwaKV_cfbHY-mX9fyrZYE6WBngQfFGDl24ba5Q53j5l7tqVVb_tyAz2BxgicP0VIY6bT2lVQHbXdA8NDMIyfj8N970Us8w90hQAxBrQUS49I7LW0Cfn7X430hP5YmEIHZcSFzbX4aS-rsXqh_rF36ObVh3J6yv8ijfL630EJP0LtBrmjvJy4ra9mB-RHp6eih1BwKo-agRDUxaElgMw&h=R7VK1G98tn2i-fLXWXW9cebiPDZ4mhEpb6fo-nqm_ag + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"a154c3c9-054e-432a-b305-e39a21904487","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: D07601163A794ED68CA1BBB0E1D24E02 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:11:48Z' + status: 200 OK + code: 200 + duration: 318.773738ms + - id: 7 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/a154c3c9-054e-432a-b305-e39a21904487?api-version=2023-06-30&t=638477647048705845&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=c54H82OlN5_6wypaYFbz0OiEnsfaicDAUiO-sND3CKkIQF8Ufl5egGm4WcYenJMCCuKi1LXE_xcAoSb1IODG1MQlRPDXnInwmWHJsxhJOmOIAlO5QM8CWBKjNEZ-2WnQ3ZqgwaKV_cfbHY-mX9fyrZYE6WBngQfFGDl24ba5Q53j5l7tqVVb_tyAz2BxgicP0VIY6bT2lVQHbXdA8NDMIyfj8N970Us8w90hQAxBrQUS49I7LW0Cfn7X430hP5YmEIHZcSFzbX4aS-rsXqh_rF36ObVh3J6yv8ijfL630EJP0LtBrmjvJy4ra9mB-RHp6eih1BwKo-agRDUxaElgMw&h=R7VK1G98tn2i-fLXWXW9cebiPDZ4mhEpb6fo-nqm_ag + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"a154c3c9-054e-432a-b305-e39a21904487","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 8CA004D8A0F44DCEA5D260CA2C0DCD8C Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:12:49Z' + status: 200 OK + code: 200 + duration: 553.54402ms + - id: 8 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/a154c3c9-054e-432a-b305-e39a21904487?api-version=2023-06-30&t=638477647048705845&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=c54H82OlN5_6wypaYFbz0OiEnsfaicDAUiO-sND3CKkIQF8Ufl5egGm4WcYenJMCCuKi1LXE_xcAoSb1IODG1MQlRPDXnInwmWHJsxhJOmOIAlO5QM8CWBKjNEZ-2WnQ3ZqgwaKV_cfbHY-mX9fyrZYE6WBngQfFGDl24ba5Q53j5l7tqVVb_tyAz2BxgicP0VIY6bT2lVQHbXdA8NDMIyfj8N970Us8w90hQAxBrQUS49I7LW0Cfn7X430hP5YmEIHZcSFzbX4aS-rsXqh_rF36ObVh3J6yv8ijfL630EJP0LtBrmjvJy4ra9mB-RHp6eih1BwKo-agRDUxaElgMw&h=R7VK1G98tn2i-fLXWXW9cebiPDZ4mhEpb6fo-nqm_ag + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"a154c3c9-054e-432a-b305-e39a21904487","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 01A5D077B2E04E7D974CC1D512679598 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:13:50Z' + status: 200 OK + code: 200 + duration: 292.473762ms + - id: 9 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/a154c3c9-054e-432a-b305-e39a21904487?api-version=2023-06-30&t=638477647048705845&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=c54H82OlN5_6wypaYFbz0OiEnsfaicDAUiO-sND3CKkIQF8Ufl5egGm4WcYenJMCCuKi1LXE_xcAoSb1IODG1MQlRPDXnInwmWHJsxhJOmOIAlO5QM8CWBKjNEZ-2WnQ3ZqgwaKV_cfbHY-mX9fyrZYE6WBngQfFGDl24ba5Q53j5l7tqVVb_tyAz2BxgicP0VIY6bT2lVQHbXdA8NDMIyfj8N970Us8w90hQAxBrQUS49I7LW0Cfn7X430hP5YmEIHZcSFzbX4aS-rsXqh_rF36ObVh3J6yv8ijfL630EJP0LtBrmjvJy4ra9mB-RHp6eih1BwKo-agRDUxaElgMw&h=R7VK1G98tn2i-fLXWXW9cebiPDZ4mhEpb6fo-nqm_ag + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"a154c3c9-054e-432a-b305-e39a21904487","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: FF987FCD7EBD4ADC98512F7415B15757 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:14:50Z' + status: 200 OK + code: 200 + duration: 381.693735ms + - id: 10 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/a154c3c9-054e-432a-b305-e39a21904487?api-version=2023-06-30&t=638477647048705845&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=c54H82OlN5_6wypaYFbz0OiEnsfaicDAUiO-sND3CKkIQF8Ufl5egGm4WcYenJMCCuKi1LXE_xcAoSb1IODG1MQlRPDXnInwmWHJsxhJOmOIAlO5QM8CWBKjNEZ-2WnQ3ZqgwaKV_cfbHY-mX9fyrZYE6WBngQfFGDl24ba5Q53j5l7tqVVb_tyAz2BxgicP0VIY6bT2lVQHbXdA8NDMIyfj8N970Us8w90hQAxBrQUS49I7LW0Cfn7X430hP5YmEIHZcSFzbX4aS-rsXqh_rF36ObVh3J6yv8ijfL630EJP0LtBrmjvJy4ra9mB-RHp6eih1BwKo-agRDUxaElgMw&h=R7VK1G98tn2i-fLXWXW9cebiPDZ4mhEpb6fo-nqm_ag + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"a154c3c9-054e-432a-b305-e39a21904487","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 40DE65E5FE0A4909B111F1B04DA03CFB Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:15:51Z' + status: 200 OK + code: 200 + duration: 311.116085ms + - id: 11 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1531 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ibulhj/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity":{"principalId":"52d6952f-8013-4f31-82d2-4311b09a43a1","tenantId":"00000000-0000-0000-0000-000000000000"}},"principalId":"00000000-0000-0000-0000-000000000000","type":"UserAssigned","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myAdmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","autoIoScaling":"Disabled","storageSku":"Premium_LRS","logOnDisk":"Disabled"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotestqxsskd.mysql.database.azure.com","availabilityZone":"1","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":7,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T18:21:50.0525028+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""},"privateEndpointConnections":[]},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd","name":"asotestqxsskd","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1531" + Content-Type: + - application/json; charset=utf-8 + 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: 084A426757454C9CA0E04BE7BC1BE0B6 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:15:52Z' + status: 200 OK + code: 200 + duration: 671.059691ms + - id: 12 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 1531 + uncompressed: false + body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ibulhj/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity":{"principalId":"52d6952f-8013-4f31-82d2-4311b09a43a1","tenantId":"00000000-0000-0000-0000-000000000000"}},"principalId":"00000000-0000-0000-0000-000000000000","type":"UserAssigned","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myAdmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","autoIoScaling":"Disabled","storageSku":"Premium_LRS","logOnDisk":"Disabled"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotestqxsskd.mysql.database.azure.com","availabilityZone":"1","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":7,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2024-04-03T18:21:50.0525028+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""},"privateEndpointConnections":[]},"location":"East US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd","name":"asotestqxsskd","type":"Microsoft.DBforMySQL/flexibleServers"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "1531" + Content-Type: + - application/json; charset=utf-8 + 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: 4CAD91DDB9084C048F8A356ABCD053AB Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:15:53Z' + status: 200 OK + code: 200 + duration: 450.491956ms + - id: 13 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 379 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"ActiveDirectory","properties":{"administratorType":"ActiveDirectory","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity","login":"adminidentity","sid":"68b655da-06a5-4b4c-94fd-76b6ff600b55","tenantId":"00000000-0000-0000-0000-000000000000"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "379" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 493190a1494e9297bf85e8d764107e594c5717492d00bf0b9c5f5561032e987f + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/administrators/ActiveDirectory?api-version=2023-06-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"operation":"UpsertActiveDirectoryAdministratorManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/746b1c7c-5449-42de-9de9-af3d3db6e1ed?api-version=2023-06-30&t=638477650071003287&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=IKZ0M1ZMGdGWE5khj6KDVgzb5t7Z2nG59gWCn__8H_Hg7DrN7uZZQnw_o7-KbaR0QLGZkpROdjsy9S7jXD9ZLZncKogAb2jjToqNGu8QaMd_LafK21UCjhthbKvN9Cu6Z0Y3s41nCTSGKF1ZI1Mm0w6meteTgcoGHEey-tl5CpOGrq9IQF5aegkf8ItF5YBy4mDeZknud6tHxLNSDWCf3hmmusHAAlJBUc_KhfJgUG-USpK4oEQzepqPJW9Ur_80QhrmuVkH7vA7SaCCqKwPsVGLTT_IbLC2WLZpTyG8EMmmKV_IiA8tgxbkAQu4YKQOzAC_3Xq5dNb0u8PRmS3tnw&h=MEeY9vSYdV04pPYNRaWqAp_otyv9OOv05SswNeftstg + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/746b1c7c-5449-42de-9de9-af3d3db6e1ed?api-version=2023-06-30&t=638477650071159499&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=D6oDCvZCA7lGHBko44yJ4EvGDFZcxrpv0rnwYKDwJk4d2QLSsX89JIhiGg88bdFKcGqVn8J6QwGjJskI2JQ3UdMs_L-oDpCBSlnDFjcc6Qo47TUNFNUTDUXRqEP-eoInlQwX2PyMw4G7hNfh7ku4T2waoLwIH2n7mXWJPJonZ11s0YQcTqMzt7MDHN37r0ulks875Bxg3gi4z2_COVHuAHf2EaGfSVLoCF46L9xLVTA9XeiQvyuJbCnLGLaJk181i4MevzvlV8mApjCnJPdNqy0KhffETVySxzj51VQQtfIVsOS8ynPYpH09V8pKvuK6eWRg9myzdmEsoGku-Z5_Kw&h=_sEd4nZlvQL32mVzAJcPMcy4v4BOC6axSNVwUFZkaRM + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: DB68A5EFBAFE4F0E989B6532647BC1D1 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:16:46Z' + status: 202 Accepted + code: 202 + duration: 374.163307ms + - id: 14 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 59 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"asotestowwzmm","properties":{"charset":"utf8mb4"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "59" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - d4f184ec9d1fa7356564ed6ff9391281bb3c2fb311238dfff4dffd0121c0f406 + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/databases/asotestowwzmm?api-version=2023-06-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 94 + uncompressed: false + body: '{"operation":"UpsertServerDatabaseManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/0c58a0e3-d383-4acc-85e8-af39a6627cb3?api-version=2023-06-30&t=638477650071791041&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=EuA8CaLXUjFgNBUlFc5VuWNAiBfSfJR7hI115jnh9OiUXYtigPNhZwXYTaAmNCiTNXqAWr8QsvlQoPEnTtnhiXGdblVtykxrKDTsaxBlCQ3bZwYTz1vi6WFKPO4MERZBmobQqwN8F3mCcj5syRWd7-3rye_Cqqp5m6L17gp0eGD_u7XF3tyVLe2CbrVrkR95YC4IW2YFgEGH2Z-c1AeEAYpOkSyhmh2ANcAdpu4nfyGKsSMuOplw2fDhZKczoxoDjyCzJOoU9U9A5L2-GeTsXjG0n8bOfzUoOexU1v3o_rVH18ZTpeQpLp9k_0VA5Wud9lpKV7nWHq3Ap4tzOys57A&h=UhYb_OnhTTuonG4GzmoKMiJ3NZNSIXJz7ykr5Hu5Uls + Cache-Control: + - no-cache + Content-Length: + - "94" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/0c58a0e3-d383-4acc-85e8-af39a6627cb3?api-version=2023-06-30&t=638477650072103508&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=PZbpzQTfQuM8in3Q0x-qgehQd5_gSYymnlS64ldWQ5IWaqJPOHVt9iX1nvkXDUjq8CMnvIDKWSlNprNgOMECh6DP5H4z0fTQkMcaBU3Ey4DVKKn5raGllgjkVN0geUqXGYu-rsuaiPHknPkLQk6kvMoOZV1uHOVGH1ZAtU57mTiYUSZZRvIMHtNfAMl18HhqpCYczIMUEbcxbCyt6DgBTJzeXmMtrGzYOExXYHl-9rFXY4iocX0DJh_lW70KA0ehVLujUq3U03EDky7ibjBbXxDY0RLoFQKvbLGbWv7ho4qiXShSdWqmpCle-BLsiNegDHZ2mf0e9AdljRCfVaKPVg&h=O5dG0aTVpJIK0t3MZAMYoiNFlnTHR2u7lsq62EvYiLU + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 69E90108994948F3B51326DB9BCACB2B Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:16:46Z' + status: 202 Accepted + code: 202 + duration: 482.113236ms + - id: 15 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 79 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"max_connections","properties":{"source":"user-override","value":"20"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "79" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - b2de8c2d080b5500f2922ac481bfb2d6653a302197a52e0d055740cb3138943f + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/configurations/max_connections?api-version=2023-06-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 97 + uncompressed: false + body: '{"operation":"UpdateServerParameterManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/3209ca6a-7acd-4385-881a-89766a3f0d4e?api-version=2023-06-30&t=638477650072360388&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=4lVcrJCFdnDXVpckX36Tzia2KdOLHRqBwBuPiq-gKGWPtz9Ki23rldaR5cKaelW9UpkY7R7kTFNZHA8cCI5I9APfFTK7MJzKc0-EKAwZ4_DafevOPDHqTeXNrbqywyxLLvU5epkwT4u2c5Vwc4lHuy6CZuDD3aZ0ZBOaZEqjwAewFVWuUlwsJnMigHW7YXgtC1Vm3vE4OP0I6emRGWDovplkAJybX-l4fmcMomyQnwY3TSRwZQlCvtGjK2eqPLW2Tv3YMfZ90CjTHxELCjbeiiDrgMWtvTdnVxEMOarg9ChipiULJh5_rMxRDE3tLqs5Ps7hxOlDDxJ3p0VVsn_m8g&h=2udfxeYz6DJSaMgWyZFx5vc_P92umIpDAs0KdiMjF5k + Cache-Control: + - no-cache + Content-Length: + - "97" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/3209ca6a-7acd-4385-881a-89766a3f0d4e?api-version=2023-06-30&t=638477650072516635&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=VdJvlp7EiDwesNfTF3YjTiUuoiwJcoJYiFt7hGpABYUmPhK6NczAakT5xtkNoyv5bh78EPesBT9oUgsqGEWqIilCJquCoyuyxGW0JeITyuwgHCwYgNk7NWUU5SiFb1p2v18hPg2DflmqnsofVT3JoD2D3J3FldwIGZJ6199Ek04f1B-3pt8cWxS2pyEyfHqJ5G9V63HzjnrP0FMfPcvVAZ_AZgllG0PHtlfyCb5HWOcGs4t3LYybNkUhpzmad9h0baMA9fNDoPkgmh_wAgpsnnlBvjn07T4apw8LtgYiOcfymhbSjtUQy-MLP71SiEgg7bcf0sZW4oF3QArISljcLw&h=_aPQM05Tbgt3K1JhEtOQNLt9LEEtDfLrka-ZngEdU1A + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 6BE2CDE6618E4C8891992D6BF2785C95 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:16:46Z' + status: 202 Accepted + code: 202 + duration: 524.05627ms + - id: 16 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/746b1c7c-5449-42de-9de9-af3d3db6e1ed?api-version=2023-06-30&t=638477650071003287&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=IKZ0M1ZMGdGWE5khj6KDVgzb5t7Z2nG59gWCn__8H_Hg7DrN7uZZQnw_o7-KbaR0QLGZkpROdjsy9S7jXD9ZLZncKogAb2jjToqNGu8QaMd_LafK21UCjhthbKvN9Cu6Z0Y3s41nCTSGKF1ZI1Mm0w6meteTgcoGHEey-tl5CpOGrq9IQF5aegkf8ItF5YBy4mDeZknud6tHxLNSDWCf3hmmusHAAlJBUc_KhfJgUG-USpK4oEQzepqPJW9Ur_80QhrmuVkH7vA7SaCCqKwPsVGLTT_IbLC2WLZpTyG8EMmmKV_IiA8tgxbkAQu4YKQOzAC_3Xq5dNb0u8PRmS3tnw&h=MEeY9vSYdV04pPYNRaWqAp_otyv9OOv05SswNeftstg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"746b1c7c-5449-42de-9de9-af3d3db6e1ed","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: FD5254D91ADE44B09EA61307E9B50EAF Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:16:48Z' + status: 200 OK + code: 200 + duration: 251.908701ms + - id: 17 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/3209ca6a-7acd-4385-881a-89766a3f0d4e?api-version=2023-06-30&t=638477650072360388&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=4lVcrJCFdnDXVpckX36Tzia2KdOLHRqBwBuPiq-gKGWPtz9Ki23rldaR5cKaelW9UpkY7R7kTFNZHA8cCI5I9APfFTK7MJzKc0-EKAwZ4_DafevOPDHqTeXNrbqywyxLLvU5epkwT4u2c5Vwc4lHuy6CZuDD3aZ0ZBOaZEqjwAewFVWuUlwsJnMigHW7YXgtC1Vm3vE4OP0I6emRGWDovplkAJybX-l4fmcMomyQnwY3TSRwZQlCvtGjK2eqPLW2Tv3YMfZ90CjTHxELCjbeiiDrgMWtvTdnVxEMOarg9ChipiULJh5_rMxRDE3tLqs5Ps7hxOlDDxJ3p0VVsn_m8g&h=2udfxeYz6DJSaMgWyZFx5vc_P92umIpDAs0KdiMjF5k + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"3209ca6a-7acd-4385-881a-89766a3f0d4e","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: EE7356BC433541D48F8F59DF6A21CF1D Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:16:48Z' + status: 200 OK + code: 200 + duration: 126.543ms + - id: 18 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/0c58a0e3-d383-4acc-85e8-af39a6627cb3?api-version=2023-06-30&t=638477650071791041&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=EuA8CaLXUjFgNBUlFc5VuWNAiBfSfJR7hI115jnh9OiUXYtigPNhZwXYTaAmNCiTNXqAWr8QsvlQoPEnTtnhiXGdblVtykxrKDTsaxBlCQ3bZwYTz1vi6WFKPO4MERZBmobQqwN8F3mCcj5syRWd7-3rye_Cqqp5m6L17gp0eGD_u7XF3tyVLe2CbrVrkR95YC4IW2YFgEGH2Z-c1AeEAYpOkSyhmh2ANcAdpu4nfyGKsSMuOplw2fDhZKczoxoDjyCzJOoU9U9A5L2-GeTsXjG0n8bOfzUoOexU1v3o_rVH18ZTpeQpLp9k_0VA5Wud9lpKV7nWHq3Ap4tzOys57A&h=UhYb_OnhTTuonG4GzmoKMiJ3NZNSIXJz7ykr5Hu5Uls + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"0c58a0e3-d383-4acc-85e8-af39a6627cb3","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 2A9B95F0790A4D9494E8F112C863779E Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:16:48Z' + status: 200 OK + code: 200 + duration: 267.672977ms + - id: 19 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 91 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: '{"name":"asotestoyrpnb","properties":{"endIpAddress":"1.2.3.4","startIpAddress":"1.2.3.4"}}' + form: {} + headers: + Accept: + - application/json + Content-Length: + - "91" + Content-Type: + - application/json + Test-Request-Attempt: + - "0" + Test-Request-Hash: + - 5209415c9cb4fa684f9a1a9834ba3439924c67ec994bf58e3c54947379d1946f + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/firewallRules/asotestoyrpnb?api-version=2023-06-30 + method: PUT + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 98 + uncompressed: false + body: '{"operation":"UpsertServerFirewallRulesManagementOperation","startTime":"2001-02-03T04:05:06Z"}' + headers: + Azure-Asyncoperation: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/ff3f013d-7253-4e50-8c60-1f9e6b941bb1?api-version=2023-06-30&t=638477650090165450&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Ry0DyQd_ctaxfR3TS5ROE8XJYRexThlQ7q9arSmSTyTnBfz1d1Jx_dWXeiZJRYspxdGOW78aCjhFRVaH-jr_rGz9cAEafHeTQFa5DiH3dn3t0oY6hcxZFcn5_w7JM48anOPY4KBaXdeuImgf_48nGAXvpB0FtqIturxHdX8B-JHY4tVfaXwA_MtSLS_d1AOcyci-DUGlbV8UghTetc34aKBdUpjCbq9DG00JcGDfvWkyj7tBMgSK4SICFnygb5TwiDBupqYlsbUoBmFtaSZZsLYNj5hGmgxRX0TDIDaRhPu_z0Dx7Dhl7Z9tmJnmaY3LwinspCfeGUEHZnAiB7Kw8Q&h=zW3Gq_UIDuOZDtyOg2li2XCs7wEXG3zr_bCogUoAASQ + Cache-Control: + - no-cache + Content-Length: + - "98" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/ff3f013d-7253-4e50-8c60-1f9e6b941bb1?api-version=2023-06-30&t=638477650090321703&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=C_uCyXNFxnF_iR0m4SKlZAhjQhbr9Kb98VQ7bfY0jotc8bvNA5V6foJk0hmiXn7T9N2F3qtQpMoffpQ6fIe8mrvOGmEuPjbAD2fNWfgWyhpz0fXFDjWI6zq80m7oJ537sYcPNCzpEv_vIz8QhuwQGfPZ5fKAofgFic4frYJToZVXrxHwte7MwxtLBk_QMF7Or4vZjvKqS4p6qmo90NHwpsYKvQ3W47KL5yLBB7sVLbKytVZ47Oo40JRebAToDNM2qQSqzvpayaobGAGFtI_hx3-ojXBzI9BgT78qFCzvhVG1704m3vvXuN7dtTmEr1WKzFsFVxgNoZ7ydzGmFbeiaw&h=3P3N5fBEPQB3pBCmawpY3Mf5J-oy6763v9mSYDkO4To + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: F72457DEECA04246B31193FE3724CDD5 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:16:46Z' + status: 202 Accepted + code: 202 + duration: 2.297096964s + - id: 20 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/ff3f013d-7253-4e50-8c60-1f9e6b941bb1?api-version=2023-06-30&t=638477650090165450&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Ry0DyQd_ctaxfR3TS5ROE8XJYRexThlQ7q9arSmSTyTnBfz1d1Jx_dWXeiZJRYspxdGOW78aCjhFRVaH-jr_rGz9cAEafHeTQFa5DiH3dn3t0oY6hcxZFcn5_w7JM48anOPY4KBaXdeuImgf_48nGAXvpB0FtqIturxHdX8B-JHY4tVfaXwA_MtSLS_d1AOcyci-DUGlbV8UghTetc34aKBdUpjCbq9DG00JcGDfvWkyj7tBMgSK4SICFnygb5TwiDBupqYlsbUoBmFtaSZZsLYNj5hGmgxRX0TDIDaRhPu_z0Dx7Dhl7Z9tmJnmaY3LwinspCfeGUEHZnAiB7Kw8Q&h=zW3Gq_UIDuOZDtyOg2li2XCs7wEXG3zr_bCogUoAASQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"ff3f013d-7253-4e50-8c60-1f9e6b941bb1","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 43B809F6F2914CB48BE7FE7C9F0C88D9 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:16:52Z' + status: 200 OK + code: 200 + duration: 462.89967ms + - id: 21 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/3209ca6a-7acd-4385-881a-89766a3f0d4e?api-version=2023-06-30&t=638477650072360388&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=4lVcrJCFdnDXVpckX36Tzia2KdOLHRqBwBuPiq-gKGWPtz9Ki23rldaR5cKaelW9UpkY7R7kTFNZHA8cCI5I9APfFTK7MJzKc0-EKAwZ4_DafevOPDHqTeXNrbqywyxLLvU5epkwT4u2c5Vwc4lHuy6CZuDD3aZ0ZBOaZEqjwAewFVWuUlwsJnMigHW7YXgtC1Vm3vE4OP0I6emRGWDovplkAJybX-l4fmcMomyQnwY3TSRwZQlCvtGjK2eqPLW2Tv3YMfZ90CjTHxELCjbeiiDrgMWtvTdnVxEMOarg9ChipiULJh5_rMxRDE3tLqs5Ps7hxOlDDxJ3p0VVsn_m8g&h=2udfxeYz6DJSaMgWyZFx5vc_P92umIpDAs0KdiMjF5k + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"3209ca6a-7acd-4385-881a-89766a3f0d4e","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: C84784C0FBC2483EA295A74566032DAE Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:04Z' + status: 200 OK + code: 200 + duration: 308.200319ms + - id: 22 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/0c58a0e3-d383-4acc-85e8-af39a6627cb3?api-version=2023-06-30&t=638477650071791041&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=EuA8CaLXUjFgNBUlFc5VuWNAiBfSfJR7hI115jnh9OiUXYtigPNhZwXYTaAmNCiTNXqAWr8QsvlQoPEnTtnhiXGdblVtykxrKDTsaxBlCQ3bZwYTz1vi6WFKPO4MERZBmobQqwN8F3mCcj5syRWd7-3rye_Cqqp5m6L17gp0eGD_u7XF3tyVLe2CbrVrkR95YC4IW2YFgEGH2Z-c1AeEAYpOkSyhmh2ANcAdpu4nfyGKsSMuOplw2fDhZKczoxoDjyCzJOoU9U9A5L2-GeTsXjG0n8bOfzUoOexU1v3o_rVH18ZTpeQpLp9k_0VA5Wud9lpKV7nWHq3Ap4tzOys57A&h=UhYb_OnhTTuonG4GzmoKMiJ3NZNSIXJz7ykr5Hu5Uls + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"0c58a0e3-d383-4acc-85e8-af39a6627cb3","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 968A212191C5411EA1F4D0E2186D7DE1 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:04Z' + status: 200 OK + code: 200 + duration: 256.812098ms + - id: 23 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/3209ca6a-7acd-4385-881a-89766a3f0d4e?api-version=2023-06-30&t=638477650072360388&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=4lVcrJCFdnDXVpckX36Tzia2KdOLHRqBwBuPiq-gKGWPtz9Ki23rldaR5cKaelW9UpkY7R7kTFNZHA8cCI5I9APfFTK7MJzKc0-EKAwZ4_DafevOPDHqTeXNrbqywyxLLvU5epkwT4u2c5Vwc4lHuy6CZuDD3aZ0ZBOaZEqjwAewFVWuUlwsJnMigHW7YXgtC1Vm3vE4OP0I6emRGWDovplkAJybX-l4fmcMomyQnwY3TSRwZQlCvtGjK2eqPLW2Tv3YMfZ90CjTHxELCjbeiiDrgMWtvTdnVxEMOarg9ChipiULJh5_rMxRDE3tLqs5Ps7hxOlDDxJ3p0VVsn_m8g&h=2udfxeYz6DJSaMgWyZFx5vc_P92umIpDAs0KdiMjF5k + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"3209ca6a-7acd-4385-881a-89766a3f0d4e","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 3BC813ACA7234247847948262ADA90D7 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:19Z' + status: 200 OK + code: 200 + duration: 270.050083ms + - id: 24 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/0c58a0e3-d383-4acc-85e8-af39a6627cb3?api-version=2023-06-30&t=638477650071791041&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=EuA8CaLXUjFgNBUlFc5VuWNAiBfSfJR7hI115jnh9OiUXYtigPNhZwXYTaAmNCiTNXqAWr8QsvlQoPEnTtnhiXGdblVtykxrKDTsaxBlCQ3bZwYTz1vi6WFKPO4MERZBmobQqwN8F3mCcj5syRWd7-3rye_Cqqp5m6L17gp0eGD_u7XF3tyVLe2CbrVrkR95YC4IW2YFgEGH2Z-c1AeEAYpOkSyhmh2ANcAdpu4nfyGKsSMuOplw2fDhZKczoxoDjyCzJOoU9U9A5L2-GeTsXjG0n8bOfzUoOexU1v3o_rVH18ZTpeQpLp9k_0VA5Wud9lpKV7nWHq3Ap4tzOys57A&h=UhYb_OnhTTuonG4GzmoKMiJ3NZNSIXJz7ykr5Hu5Uls + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"0c58a0e3-d383-4acc-85e8-af39a6627cb3","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: E5AA20F2C2D74DBDB61228EDBE57221B Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:19Z' + status: 200 OK + code: 200 + duration: 418.041554ms + - id: 25 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/3209ca6a-7acd-4385-881a-89766a3f0d4e?api-version=2023-06-30&t=638477650072360388&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=4lVcrJCFdnDXVpckX36Tzia2KdOLHRqBwBuPiq-gKGWPtz9Ki23rldaR5cKaelW9UpkY7R7kTFNZHA8cCI5I9APfFTK7MJzKc0-EKAwZ4_DafevOPDHqTeXNrbqywyxLLvU5epkwT4u2c5Vwc4lHuy6CZuDD3aZ0ZBOaZEqjwAewFVWuUlwsJnMigHW7YXgtC1Vm3vE4OP0I6emRGWDovplkAJybX-l4fmcMomyQnwY3TSRwZQlCvtGjK2eqPLW2Tv3YMfZ90CjTHxELCjbeiiDrgMWtvTdnVxEMOarg9ChipiULJh5_rMxRDE3tLqs5Ps7hxOlDDxJ3p0VVsn_m8g&h=2udfxeYz6DJSaMgWyZFx5vc_P92umIpDAs0KdiMjF5k + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"3209ca6a-7acd-4385-881a-89766a3f0d4e","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 810EBF5DF8F04153873B7FDC886B3E51 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:35Z' + status: 200 OK + code: 200 + duration: 347.48277ms + - id: 26 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/0c58a0e3-d383-4acc-85e8-af39a6627cb3?api-version=2023-06-30&t=638477650071791041&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=EuA8CaLXUjFgNBUlFc5VuWNAiBfSfJR7hI115jnh9OiUXYtigPNhZwXYTaAmNCiTNXqAWr8QsvlQoPEnTtnhiXGdblVtykxrKDTsaxBlCQ3bZwYTz1vi6WFKPO4MERZBmobQqwN8F3mCcj5syRWd7-3rye_Cqqp5m6L17gp0eGD_u7XF3tyVLe2CbrVrkR95YC4IW2YFgEGH2Z-c1AeEAYpOkSyhmh2ANcAdpu4nfyGKsSMuOplw2fDhZKczoxoDjyCzJOoU9U9A5L2-GeTsXjG0n8bOfzUoOexU1v3o_rVH18ZTpeQpLp9k_0VA5Wud9lpKV7nWHq3Ap4tzOys57A&h=UhYb_OnhTTuonG4GzmoKMiJ3NZNSIXJz7ykr5Hu5Uls + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"0c58a0e3-d383-4acc-85e8-af39a6627cb3","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 00E48B25050C4559A637AF36D6F2789C Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:35Z' + status: 200 OK + code: 200 + duration: 403.285084ms + - id: 27 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/746b1c7c-5449-42de-9de9-af3d3db6e1ed?api-version=2023-06-30&t=638477650071003287&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=IKZ0M1ZMGdGWE5khj6KDVgzb5t7Z2nG59gWCn__8H_Hg7DrN7uZZQnw_o7-KbaR0QLGZkpROdjsy9S7jXD9ZLZncKogAb2jjToqNGu8QaMd_LafK21UCjhthbKvN9Cu6Z0Y3s41nCTSGKF1ZI1Mm0w6meteTgcoGHEey-tl5CpOGrq9IQF5aegkf8ItF5YBy4mDeZknud6tHxLNSDWCf3hmmusHAAlJBUc_KhfJgUG-USpK4oEQzepqPJW9Ur_80QhrmuVkH7vA7SaCCqKwPsVGLTT_IbLC2WLZpTyG8EMmmKV_IiA8tgxbkAQu4YKQOzAC_3Xq5dNb0u8PRmS3tnw&h=MEeY9vSYdV04pPYNRaWqAp_otyv9OOv05SswNeftstg + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"746b1c7c-5449-42de-9de9-af3d3db6e1ed","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 8EE926A510F94198972E5B44CD5479AD Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:49Z' + status: 200 OK + code: 200 + duration: 273.031687ms + - id: 28 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/3209ca6a-7acd-4385-881a-89766a3f0d4e?api-version=2023-06-30&t=638477650072360388&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=4lVcrJCFdnDXVpckX36Tzia2KdOLHRqBwBuPiq-gKGWPtz9Ki23rldaR5cKaelW9UpkY7R7kTFNZHA8cCI5I9APfFTK7MJzKc0-EKAwZ4_DafevOPDHqTeXNrbqywyxLLvU5epkwT4u2c5Vwc4lHuy6CZuDD3aZ0ZBOaZEqjwAewFVWuUlwsJnMigHW7YXgtC1Vm3vE4OP0I6emRGWDovplkAJybX-l4fmcMomyQnwY3TSRwZQlCvtGjK2eqPLW2Tv3YMfZ90CjTHxELCjbeiiDrgMWtvTdnVxEMOarg9ChipiULJh5_rMxRDE3tLqs5Ps7hxOlDDxJ3p0VVsn_m8g&h=2udfxeYz6DJSaMgWyZFx5vc_P92umIpDAs0KdiMjF5k + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"3209ca6a-7acd-4385-881a-89766a3f0d4e","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: D0F7D970D8BF4081B8647DF6D66A91C4 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:50Z' + status: 200 OK + code: 200 + duration: 275.188085ms + - id: 29 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/administrators/ActiveDirectory?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 624 + uncompressed: false + body: '{"properties":{"administratorType":"ActiveDirectory","login":"adminidentity","sid":"68b655da-06a5-4b4c-94fd-76b6ff600b55","tenantId":"00000000-0000-0000-0000-000000000000","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ibulhj/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/administrators/ActiveDirectory","name":"ActiveDirectory","type":"Microsoft.DBforMySQL/flexibleServers/administrators"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "624" + Content-Type: + - application/json; charset=utf-8 + 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: 42D4F3EDD49441599F172F6C29848C6F Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:49Z' + status: 200 OK + code: 200 + duration: 3.12485338s + - id: 30 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/ff3f013d-7253-4e50-8c60-1f9e6b941bb1?api-version=2023-06-30&t=638477650090165450&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Ry0DyQd_ctaxfR3TS5ROE8XJYRexThlQ7q9arSmSTyTnBfz1d1Jx_dWXeiZJRYspxdGOW78aCjhFRVaH-jr_rGz9cAEafHeTQFa5DiH3dn3t0oY6hcxZFcn5_w7JM48anOPY4KBaXdeuImgf_48nGAXvpB0FtqIturxHdX8B-JHY4tVfaXwA_MtSLS_d1AOcyci-DUGlbV8UghTetc34aKBdUpjCbq9DG00JcGDfvWkyj7tBMgSK4SICFnygb5TwiDBupqYlsbUoBmFtaSZZsLYNj5hGmgxRX0TDIDaRhPu_z0Dx7Dhl7Z9tmJnmaY3LwinspCfeGUEHZnAiB7Kw8Q&h=zW3Gq_UIDuOZDtyOg2li2XCs7wEXG3zr_bCogUoAASQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"ff3f013d-7253-4e50-8c60-1f9e6b941bb1","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: FE31F813C156456D908D693EA83315A0 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:53Z' + status: 200 OK + code: 200 + duration: 301.451945ms + - id: 31 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/0c58a0e3-d383-4acc-85e8-af39a6627cb3?api-version=2023-06-30&t=638477650071791041&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=EuA8CaLXUjFgNBUlFc5VuWNAiBfSfJR7hI115jnh9OiUXYtigPNhZwXYTaAmNCiTNXqAWr8QsvlQoPEnTtnhiXGdblVtykxrKDTsaxBlCQ3bZwYTz1vi6WFKPO4MERZBmobQqwN8F3mCcj5syRWd7-3rye_Cqqp5m6L17gp0eGD_u7XF3tyVLe2CbrVrkR95YC4IW2YFgEGH2Z-c1AeEAYpOkSyhmh2ANcAdpu4nfyGKsSMuOplw2fDhZKczoxoDjyCzJOoU9U9A5L2-GeTsXjG0n8bOfzUoOexU1v3o_rVH18ZTpeQpLp9k_0VA5Wud9lpKV7nWHq3Ap4tzOys57A&h=UhYb_OnhTTuonG4GzmoKMiJ3NZNSIXJz7ykr5Hu5Uls + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"0c58a0e3-d383-4acc-85e8-af39a6627cb3","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: D4C60A266E764A318D05FF22664155B6 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:51Z' + status: 200 OK + code: 200 + duration: 3.330073378s + - id: 32 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/administrators/ActiveDirectory?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 624 + uncompressed: false + body: '{"properties":{"administratorType":"ActiveDirectory","login":"adminidentity","sid":"68b655da-06a5-4b4c-94fd-76b6ff600b55","tenantId":"00000000-0000-0000-0000-000000000000","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ibulhj/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/administrators/ActiveDirectory","name":"ActiveDirectory","type":"Microsoft.DBforMySQL/flexibleServers/administrators"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "624" + Content-Type: + - application/json; charset=utf-8 + 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: CE0DDA8E361D450B95B1F8FAF34D2757 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:55Z' + status: 200 OK + code: 200 + duration: 893.646255ms + - id: 33 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/databases/asotestowwzmm?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 325 + uncompressed: false + body: '{"properties":{"charset":"utf8mb4","collation":"utf8mb4_0900_ai_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/databases/asotestowwzmm","name":"asotestowwzmm","type":"Microsoft.DBforMySQL/flexibleServers/databases"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "325" + Content-Type: + - application/json; charset=utf-8 + 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: 8A82A6322FE946AD99B8AAA9AE86D476 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:58Z' + status: 200 OK + code: 200 + duration: 876.794083ms + - id: 34 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/databases/asotestowwzmm?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 325 + uncompressed: false + body: '{"properties":{"charset":"utf8mb4","collation":"utf8mb4_0900_ai_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/databases/asotestowwzmm","name":"asotestowwzmm","type":"Microsoft.DBforMySQL/flexibleServers/databases"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "325" + Content-Type: + - application/json; charset=utf-8 + 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: 765D51FDA4C746B2BD2ABEE2FD2FA895 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:17:59Z' + status: 200 OK + code: 200 + duration: 1.991129513s + - id: 35 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "5" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/3209ca6a-7acd-4385-881a-89766a3f0d4e?api-version=2023-06-30&t=638477650072360388&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=4lVcrJCFdnDXVpckX36Tzia2KdOLHRqBwBuPiq-gKGWPtz9Ki23rldaR5cKaelW9UpkY7R7kTFNZHA8cCI5I9APfFTK7MJzKc0-EKAwZ4_DafevOPDHqTeXNrbqywyxLLvU5epkwT4u2c5Vwc4lHuy6CZuDD3aZ0ZBOaZEqjwAewFVWuUlwsJnMigHW7YXgtC1Vm3vE4OP0I6emRGWDovplkAJybX-l4fmcMomyQnwY3TSRwZQlCvtGjK2eqPLW2Tv3YMfZ90CjTHxELCjbeiiDrgMWtvTdnVxEMOarg9ChipiULJh5_rMxRDE3tLqs5Ps7hxOlDDxJ3p0VVsn_m8g&h=2udfxeYz6DJSaMgWyZFx5vc_P92umIpDAs0KdiMjF5k + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"3209ca6a-7acd-4385-881a-89766a3f0d4e","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 243BF48B555B486890AED8A3D97054CA Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:06Z' + status: 200 OK + code: 200 + duration: 98.352453ms + - id: 36 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "6" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/3209ca6a-7acd-4385-881a-89766a3f0d4e?api-version=2023-06-30&t=638477650072360388&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=4lVcrJCFdnDXVpckX36Tzia2KdOLHRqBwBuPiq-gKGWPtz9Ki23rldaR5cKaelW9UpkY7R7kTFNZHA8cCI5I9APfFTK7MJzKc0-EKAwZ4_DafevOPDHqTeXNrbqywyxLLvU5epkwT4u2c5Vwc4lHuy6CZuDD3aZ0ZBOaZEqjwAewFVWuUlwsJnMigHW7YXgtC1Vm3vE4OP0I6emRGWDovplkAJybX-l4fmcMomyQnwY3TSRwZQlCvtGjK2eqPLW2Tv3YMfZ90CjTHxELCjbeiiDrgMWtvTdnVxEMOarg9ChipiULJh5_rMxRDE3tLqs5Ps7hxOlDDxJ3p0VVsn_m8g&h=2udfxeYz6DJSaMgWyZFx5vc_P92umIpDAs0KdiMjF5k + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"3209ca6a-7acd-4385-881a-89766a3f0d4e","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 6D358E88426E4C82BD9763D2309EE070 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:21Z' + status: 200 OK + code: 200 + duration: 271.012499ms + - id: 37 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "7" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/3209ca6a-7acd-4385-881a-89766a3f0d4e?api-version=2023-06-30&t=638477650072360388&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=4lVcrJCFdnDXVpckX36Tzia2KdOLHRqBwBuPiq-gKGWPtz9Ki23rldaR5cKaelW9UpkY7R7kTFNZHA8cCI5I9APfFTK7MJzKc0-EKAwZ4_DafevOPDHqTeXNrbqywyxLLvU5epkwT4u2c5Vwc4lHuy6CZuDD3aZ0ZBOaZEqjwAewFVWuUlwsJnMigHW7YXgtC1Vm3vE4OP0I6emRGWDovplkAJybX-l4fmcMomyQnwY3TSRwZQlCvtGjK2eqPLW2Tv3YMfZ90CjTHxELCjbeiiDrgMWtvTdnVxEMOarg9ChipiULJh5_rMxRDE3tLqs5Ps7hxOlDDxJ3p0VVsn_m8g&h=2udfxeYz6DJSaMgWyZFx5vc_P92umIpDAs0KdiMjF5k + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 108 + uncompressed: false + body: '{"name":"3209ca6a-7acd-4385-881a-89766a3f0d4e","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "108" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 548A255083B84D04B980898BFBCE05DD Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:37Z' + status: 200 OK + code: 200 + duration: 241.775646ms + - id: 38 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "8" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/3209ca6a-7acd-4385-881a-89766a3f0d4e?api-version=2023-06-30&t=638477650072360388&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=4lVcrJCFdnDXVpckX36Tzia2KdOLHRqBwBuPiq-gKGWPtz9Ki23rldaR5cKaelW9UpkY7R7kTFNZHA8cCI5I9APfFTK7MJzKc0-EKAwZ4_DafevOPDHqTeXNrbqywyxLLvU5epkwT4u2c5Vwc4lHuy6CZuDD3aZ0ZBOaZEqjwAewFVWuUlwsJnMigHW7YXgtC1Vm3vE4OP0I6emRGWDovplkAJybX-l4fmcMomyQnwY3TSRwZQlCvtGjK2eqPLW2Tv3YMfZ90CjTHxELCjbeiiDrgMWtvTdnVxEMOarg9ChipiULJh5_rMxRDE3tLqs5Ps7hxOlDDxJ3p0VVsn_m8g&h=2udfxeYz6DJSaMgWyZFx5vc_P92umIpDAs0KdiMjF5k + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"3209ca6a-7acd-4385-881a-89766a3f0d4e","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: F090805DE20E43289DAE0822E115A275 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:52Z' + status: 200 OK + code: 200 + duration: 896.049103ms + - id: 39 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/ff3f013d-7253-4e50-8c60-1f9e6b941bb1?api-version=2023-06-30&t=638477650090165450&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Ry0DyQd_ctaxfR3TS5ROE8XJYRexThlQ7q9arSmSTyTnBfz1d1Jx_dWXeiZJRYspxdGOW78aCjhFRVaH-jr_rGz9cAEafHeTQFa5DiH3dn3t0oY6hcxZFcn5_w7JM48anOPY4KBaXdeuImgf_48nGAXvpB0FtqIturxHdX8B-JHY4tVfaXwA_MtSLS_d1AOcyci-DUGlbV8UghTetc34aKBdUpjCbq9DG00JcGDfvWkyj7tBMgSK4SICFnygb5TwiDBupqYlsbUoBmFtaSZZsLYNj5hGmgxRX0TDIDaRhPu_z0Dx7Dhl7Z9tmJnmaY3LwinspCfeGUEHZnAiB7Kw8Q&h=zW3Gq_UIDuOZDtyOg2li2XCs7wEXG3zr_bCogUoAASQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"ff3f013d-7253-4e50-8c60-1f9e6b941bb1","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 202DAFD4AE7D49EDA10F2F8C5ACB74B6 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:53Z' + status: 200 OK + code: 200 + duration: 152.706779ms + - id: 40 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/configurations/max_connections?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 687 + uncompressed: false + body: '{"properties":{"value":"20","currentValue":"20","description":"The maximum permitted number of simultaneous client connections.","defaultValue":"1365","dataType":"Integer","allowedValues":"10-2731","source":"user-override","isConfigPendingRestart":"False","isDynamicConfig":"True","isReadOnly":"False","documentationLink":"https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/configurations/max_connections","name":"max_connections","type":"Microsoft.DBforMySQL/flexibleServers/configurations"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "687" + Content-Type: + - application/json; charset=utf-8 + 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: 2F1ED777C4124EDCB24A631BB90A5B96 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:54Z' + status: 200 OK + code: 200 + duration: 1.150859536s + - id: 41 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/configurations/max_connections?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 687 + uncompressed: false + body: '{"properties":{"value":"20","currentValue":"20","description":"The maximum permitted number of simultaneous client connections.","defaultValue":"1365","dataType":"Integer","allowedValues":"10-2731","source":"user-override","isConfigPendingRestart":"False","isDynamicConfig":"True","isReadOnly":"False","documentationLink":"https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/configurations/max_connections","name":"max_connections","type":"Microsoft.DBforMySQL/flexibleServers/configurations"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "687" + Content-Type: + - application/json; charset=utf-8 + 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: 9B360041E8354A7E97E0CC8D1687CBEA Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:18:56Z' + status: 200 OK + code: 200 + duration: 938.893744ms + - id: 42 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/ff3f013d-7253-4e50-8c60-1f9e6b941bb1?api-version=2023-06-30&t=638477650090165450&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Ry0DyQd_ctaxfR3TS5ROE8XJYRexThlQ7q9arSmSTyTnBfz1d1Jx_dWXeiZJRYspxdGOW78aCjhFRVaH-jr_rGz9cAEafHeTQFa5DiH3dn3t0oY6hcxZFcn5_w7JM48anOPY4KBaXdeuImgf_48nGAXvpB0FtqIturxHdX8B-JHY4tVfaXwA_MtSLS_d1AOcyci-DUGlbV8UghTetc34aKBdUpjCbq9DG00JcGDfvWkyj7tBMgSK4SICFnygb5TwiDBupqYlsbUoBmFtaSZZsLYNj5hGmgxRX0TDIDaRhPu_z0Dx7Dhl7Z9tmJnmaY3LwinspCfeGUEHZnAiB7Kw8Q&h=zW3Gq_UIDuOZDtyOg2li2XCs7wEXG3zr_bCogUoAASQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 107 + uncompressed: false + body: '{"name":"ff3f013d-7253-4e50-8c60-1f9e6b941bb1","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "107" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: DB080E3098EB40958240DD10A4D31D05 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:19:54Z' + status: 200 OK + code: 200 + duration: 298.663884ms + - id: 43 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/ff3f013d-7253-4e50-8c60-1f9e6b941bb1?api-version=2023-06-30&t=638477650090165450&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=Ry0DyQd_ctaxfR3TS5ROE8XJYRexThlQ7q9arSmSTyTnBfz1d1Jx_dWXeiZJRYspxdGOW78aCjhFRVaH-jr_rGz9cAEafHeTQFa5DiH3dn3t0oY6hcxZFcn5_w7JM48anOPY4KBaXdeuImgf_48nGAXvpB0FtqIturxHdX8B-JHY4tVfaXwA_MtSLS_d1AOcyci-DUGlbV8UghTetc34aKBdUpjCbq9DG00JcGDfvWkyj7tBMgSK4SICFnygb5TwiDBupqYlsbUoBmFtaSZZsLYNj5hGmgxRX0TDIDaRhPu_z0Dx7Dhl7Z9tmJnmaY3LwinspCfeGUEHZnAiB7Kw8Q&h=zW3Gq_UIDuOZDtyOg2li2XCs7wEXG3zr_bCogUoAASQ + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 106 + uncompressed: false + body: '{"name":"ff3f013d-7253-4e50-8c60-1f9e6b941bb1","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "106" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Retry-After: + - "60" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 0B16E60862DD49BEBC4DC2C2D8A477C3 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:20:54Z' + status: 200 OK + code: 200 + duration: 262.609647ms + - id: 44 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/firewallRules/asotestoyrpnb?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 332 + uncompressed: false + body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.4"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/firewallRules/asotestoyrpnb","name":"asotestoyrpnb","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "332" + Content-Type: + - application/json; charset=utf-8 + 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: 4D2B7AB1B6104B4DBF7B03E865DCA5C7 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:20:55Z' + status: 200 OK + code: 200 + duration: 277.674426ms + - id: 45 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/firewallRules/asotestoyrpnb?api-version=2023-06-30 + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 332 + uncompressed: false + body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.4"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/firewallRules/asotestoyrpnb","name":"asotestoyrpnb","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "332" + Content-Type: + - application/json; charset=utf-8 + 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: 1F297A3D150D408EAB8E1A76E8E02389 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:20:55Z' + status: 200 OK + code: 200 + duration: 278.494225ms + - id: 46 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj?api-version=2020-06-01 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQlVMSEotV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477652584144951&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=t42iveIrdmj0zWX1V9O0-MneOPM0g4KCfzJ0051ASm5Md-f6Ac-NROtWjKWaGFNVmvKYxZ-6pbb5A15NXYeCi8uRJ5-H6mER-00B31RHjgSIQyG3PyuOBO1KHiTbwQt7mYOh14MSk8mzuqp-s77E8PYG-CkAu_4XQzmCKB0D7_PMVqRMu8C2dQ-rb2wBi2fzPd2oXGmooeEAhJ_VgpFu9DzA3Af6dAkvVdUOZPeQZXtRwpTjxMvLBz2LqKBygm1E5rAik8y04mY0h-Pynhu6ZwYIYbwvWysBNSn0Hxp_f2wcexxiVUxMXChXPtC8Kwt6bU5jln2b4669dTojSaAPqQ&h=KF3-wk_su7f-yN-C0TFPH-QFe9SQv8dJ4ve4n9CCOCA + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: B70B86C070B1414D9CFC79F5B4842213 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:20:58Z' + status: 202 Accepted + code: 202 + duration: 212.241615ms + - id: 47 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQlVMSEotV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477652584144951&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=t42iveIrdmj0zWX1V9O0-MneOPM0g4KCfzJ0051ASm5Md-f6Ac-NROtWjKWaGFNVmvKYxZ-6pbb5A15NXYeCi8uRJ5-H6mER-00B31RHjgSIQyG3PyuOBO1KHiTbwQt7mYOh14MSk8mzuqp-s77E8PYG-CkAu_4XQzmCKB0D7_PMVqRMu8C2dQ-rb2wBi2fzPd2oXGmooeEAhJ_VgpFu9DzA3Af6dAkvVdUOZPeQZXtRwpTjxMvLBz2LqKBygm1E5rAik8y04mY0h-Pynhu6ZwYIYbwvWysBNSn0Hxp_f2wcexxiVUxMXChXPtC8Kwt6bU5jln2b4669dTojSaAPqQ&h=KF3-wk_su7f-yN-C0TFPH-QFe9SQv8dJ4ve4n9CCOCA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQlVMSEotV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477652737039274&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=LkWORILLw3FkH8wcfVfC6mQU2V6miJREVi8sx9z1FW-8xm4IzcL7q9EmVLiTwTTPt_SkBsjdY1_eqcgqCdtWMM6G3rimI79u91Q_vmwiY4Zz39EJvVTZoWVHtVIb-8svb2ZND-_qqFD9oi5JVFRaUGGfQHKdMp26__M2YL9LSZu9EA_sfIDZ2bbMVhOu5ObNw7TQQI1LUBf80PA77Qk-O94vW0itT604DrUBmHPQ_D8worcxqE4L4WXwJ_sSpHO9mdLfpUX1umgHz8fWQxQBouFvhzM9VkkNg334EjQzYkK8qroO56PjQiYL-DA8JgI_SMEJBJ9E3ApudEcGoJ3lwA&h=79WOHStaRJxku_6wl5Q-Fn6ZSRLKvUnzK0ZdB6LRFmk + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 691280AC1A114C57BA5BAE9180AB68F6 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:21:13Z' + status: 202 Accepted + code: 202 + duration: 29.524361ms + - id: 48 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "1" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQlVMSEotV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477652584144951&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=t42iveIrdmj0zWX1V9O0-MneOPM0g4KCfzJ0051ASm5Md-f6Ac-NROtWjKWaGFNVmvKYxZ-6pbb5A15NXYeCi8uRJ5-H6mER-00B31RHjgSIQyG3PyuOBO1KHiTbwQt7mYOh14MSk8mzuqp-s77E8PYG-CkAu_4XQzmCKB0D7_PMVqRMu8C2dQ-rb2wBi2fzPd2oXGmooeEAhJ_VgpFu9DzA3Af6dAkvVdUOZPeQZXtRwpTjxMvLBz2LqKBygm1E5rAik8y04mY0h-Pynhu6ZwYIYbwvWysBNSn0Hxp_f2wcexxiVUxMXChXPtC8Kwt6bU5jln2b4669dTojSaAPqQ&h=KF3-wk_su7f-yN-C0TFPH-QFe9SQv8dJ4ve4n9CCOCA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQlVMSEotV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477652887519691&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=QHPueObEV39e7ceRlMtL_IKWj04P6-Gi0PYqsQNqzYPXOt5IfzoIVzGf-lwZBqdIQZeYPvAvO7XKfFFib4bjG3Ba0tlN0ptNFmK0dKI7zMfe2khagoIjsetpPVKJzEoiNx1WGi2vyyovf5V2NQGKKdNhXqDBfF7VQOMUpTyBAfkgG-W4Ys0tZjE8s73b0kPUWDmRMrZm_gTvQBsTSG2M4QR2PWAH1586Yr4_4ZmAAa8iTDX4y_zQMKMzcFfc0BJ-Pw2nqk4ntAtUsDyjNC7v0n_7Tb-FMtZC5EFYrJPyZhN8PUw9mAwuMolE6Xzn2vStD-vKeu4OVH_P2HQr3YrEXw&h=EPmgbXrDKfOkxljG3XdHi3mGlpw_axqW3BX5IDLH2pc + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: B0E551EA0A494DE88CC3B8AD47806D53 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:21:28Z' + status: 202 Accepted + code: 202 + duration: 28.700162ms + - id: 49 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "2" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQlVMSEotV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477652584144951&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=t42iveIrdmj0zWX1V9O0-MneOPM0g4KCfzJ0051ASm5Md-f6Ac-NROtWjKWaGFNVmvKYxZ-6pbb5A15NXYeCi8uRJ5-H6mER-00B31RHjgSIQyG3PyuOBO1KHiTbwQt7mYOh14MSk8mzuqp-s77E8PYG-CkAu_4XQzmCKB0D7_PMVqRMu8C2dQ-rb2wBi2fzPd2oXGmooeEAhJ_VgpFu9DzA3Af6dAkvVdUOZPeQZXtRwpTjxMvLBz2LqKBygm1E5rAik8y04mY0h-Pynhu6ZwYIYbwvWysBNSn0Hxp_f2wcexxiVUxMXChXPtC8Kwt6bU5jln2b4669dTojSaAPqQ&h=KF3-wk_su7f-yN-C0TFPH-QFe9SQv8dJ4ve4n9CCOCA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQlVMSEotV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477653038227244&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=tAeCgiZl0NMbRCGdyoTEwTZpc3t5cuZqITfng2PIuJz45pBn_KOIL8a4LH_23W6HOsd1bp0Xb2W4_wUz1ZPcLh8CosH4e_CEQcXE_sXPLq0jcZA33_x8Wcx-vjLDCByejo7C7qIKuLtCdzRO8XRR04avrnyb-gdoUIj0MBMZ74Xk2VCYIN3URE1PVB4f8TIQONQKkzc5v8dPeD3zTlHxC_BZKIMltgP2imD35WnfYQhMUwZO3OG-uDOFmPg8k_Z6acS4n2_830AKm4GIOnDH5vrTV6waOdRY8a2cTCTN7ZT2eWLj5k31zBWUm8SJF_G2wPDzD_YnZLt2iuGJmY5cBw&h=NP1HTP4mTM7LvgPLxXDGr4o4q-DrgETo-i8AZLRWwhg + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: BFAFAAE2E88440AAAB63CA58315251DB Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:21:43Z' + status: 202 Accepted + code: 202 + duration: 34.320755ms + - id: 50 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "3" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQlVMSEotV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477652584144951&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=t42iveIrdmj0zWX1V9O0-MneOPM0g4KCfzJ0051ASm5Md-f6Ac-NROtWjKWaGFNVmvKYxZ-6pbb5A15NXYeCi8uRJ5-H6mER-00B31RHjgSIQyG3PyuOBO1KHiTbwQt7mYOh14MSk8mzuqp-s77E8PYG-CkAu_4XQzmCKB0D7_PMVqRMu8C2dQ-rb2wBi2fzPd2oXGmooeEAhJ_VgpFu9DzA3Af6dAkvVdUOZPeQZXtRwpTjxMvLBz2LqKBygm1E5rAik8y04mY0h-Pynhu6ZwYIYbwvWysBNSn0Hxp_f2wcexxiVUxMXChXPtC8Kwt6bU5jln2b4669dTojSaAPqQ&h=KF3-wk_su7f-yN-C0TFPH-QFe9SQv8dJ4ve4n9CCOCA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + Expires: + - "-1" + Location: + - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQlVMSEotV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477653189128029&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=2SWrFe6TCGDDqqO89pRVp8Lo0Zy0q6-2wDYCRh37SP4CmSzcvQ06GQmt8KBrmcTjaYoEhetNrWDn7oS8Rp1YTM6ZX3CpKk0nZRunkVK1WVu9AzWsAjapOc_2HCCjU0XjzghoPzsGD24F9LoCTuiGIJZoCgeGPRQhSmPkaGO7Sf60AUixPjtfvgJjhyMkgc3BEoPYEnXnFSieKlMTcZymrS1TeaDIhCz11qwHkTkPnh6s-mPIcVc25c6q4Tv24AlOR9xNODYEkutsytXnvGKhHQdZUf0gQCoR7oYQG_WL2MW7RB5qyBEtzzC7UpsusEatT98_g9EOHGD2G9sNA_gZ7A&h=5HmJN7SGgRRBjUB7sjvxbRWbTfALRp9xjVD1mnpszsM + Pragma: + - no-cache + Retry-After: + - "15" + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Msedge-Ref: + - 'Ref A: 3B5F26E49CCB4D7191FF72D0D396DB26 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:21:58Z' + status: 202 Accepted + code: 202 + duration: 36.441652ms + - id: 51 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Test-Request-Attempt: + - "4" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJQlVMSEotV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01&t=638477652584144951&c=MIIHADCCBeigAwIBAgITfARmPsJdo2ShuN-ImAAABGY-wjANBgkqhkiG9w0BAQsFADBEMRMwEQYKCZImiZPyLGQBGRYDR0JMMRMwEQYKCZImiZPyLGQBGRYDQU1FMRgwFgYDVQQDEw9BTUUgSW5mcmEgQ0EgMDUwHhcNMjQwMTMxMjIwNzA5WhcNMjUwMTI1MjIwNzA5WjBAMT4wPAYDVQQDEzVhc3luY29wZXJhdGlvbnNpZ25pbmdjZXJ0aWZpY2F0ZS5tYW5hZ2VtZW50LmF6dXJlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOVFiSMi9Sg6cKnrBuPHbDk_Zwa1ZNYHwLVPJArEI9N2bLrgd1mU0ZdNVcdf6rtZCkUUuCe3vxnVTGwufpwH9GPWDgJOpJoL9wgKOzUDiHLUeiWPjrK1AoaQVprZgjnzXBIWiZC2tZjbUT9pOI_ixYJJPrsCfLt7HEccnhObROE1mo_hpiPDrtOQDaX-BboNceB8vI1wmSPApGpPRM9hBRQbXgqKFC8094UNsMVkWPCrsPvP5YlMBLARlGf2WTevGKRREjstkApf1Swi7uKnpyhhsidD1yREMU0mWY9wnZfAX0jpEp3p9jKVMPQ3L-m-nSZI4zrtbW0AnI0O3pAEwe0CAwEAAaOCA-0wggPpMCcGCSsGAQQBgjcVCgQaMBgwCgYIKwYBBQUHAwEwCgYIKwYBBQUHAwIwPQYJKwYBBAGCNxUHBDAwLgYmKwYBBAGCNxUIhpDjDYTVtHiE8Ys-hZvdFs6dEoFggvX2K4Py0SACAWQCAQowggHLBggrBgEFBQcBAQSCAb0wggG5MGMGCCsGAQUFBzAChldodHRwOi8vY3JsLm1pY3Jvc29mdC5jb20vcGtpaW5mcmEvQ2VydHMvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmwxLmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MFMGCCsGAQUFBzAChkdodHRwOi8vY3JsMi5hbWUuZ2JsL2FpYS9DTzFQS0lJTlRDQTAxLkFNRS5HQkxfQU1FJTIwSW5mcmElMjBDQSUyMDA1LmNydDBTBggrBgEFBQcwAoZHaHR0cDovL2NybDMuYW1lLmdibC9haWEvQ08xUEtJSU5UQ0EwMS5BTUUuR0JMX0FNRSUyMEluZnJhJTIwQ0ElMjAwNS5jcnQwUwYIKwYBBQUHMAKGR2h0dHA6Ly9jcmw0LmFtZS5nYmwvYWlhL0NPMVBLSUlOVENBMDEuQU1FLkdCTF9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3J0MB0GA1UdDgQWBBT2vcy9ccvhGewsiHI1BQHsz3Wn8zAOBgNVHQ8BAf8EBAMCBaAwggEmBgNVHR8EggEdMIIBGTCCARWgggERoIIBDYY_aHR0cDovL2NybC5taWNyb3NvZnQuY29tL3BraWluZnJhL0NSTC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMS5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMi5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsMy5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JshjFodHRwOi8vY3JsNC5hbWUuZ2JsL2NybC9BTUUlMjBJbmZyYSUyMENBJTIwMDUuY3JsMBcGA1UdIAQQMA4wDAYKKwYBBAGCN3sBATAfBgNVHSMEGDAWgBR61hmFKHlscXYeYPjzS--iBUIWHTAdBgNVHSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwDQYJKoZIhvcNAQELBQADggEBADNBZjhX44bpBtC8kogZJGe4lYeHX95whfZ7X_CMSUuZRbQQ_b6raUpp8V8eF0YUa9b3Oa-DGrs5WfzogCuGcJPeoEVnDYzc1jlKubSIpGw73aGZzhbTjJeNf-Qe-5vTG-GcNzVtIcrwi93YSiK2LSbgrLpTL7T7znjePcGRRkCBjAslrV5SqufcsrpGmqvPAVKXRV-OIOzvXy6qmn9CHmdo0RGBXGIakbLMec_1SIS8NdPsB6i6XPjL2SDjqKTa5car7bVYlXEVsgL-000VF1t6x1II3VBNfsEJ81CdJyxaCJnwvWI6kHtCtJX9QYK3qZab9PfZRBvcetJoPdMFvBU&s=t42iveIrdmj0zWX1V9O0-MneOPM0g4KCfzJ0051ASm5Md-f6Ac-NROtWjKWaGFNVmvKYxZ-6pbb5A15NXYeCi8uRJ5-H6mER-00B31RHjgSIQyG3PyuOBO1KHiTbwQt7mYOh14MSk8mzuqp-s77E8PYG-CkAu_4XQzmCKB0D7_PMVqRMu8C2dQ-rb2wBi2fzPd2oXGmooeEAhJ_VgpFu9DzA3Af6dAkvVdUOZPeQZXtRwpTjxMvLBz2LqKBygm1E5rAik8y04mY0h-Pynhu6ZwYIYbwvWysBNSn0Hxp_f2wcexxiVUxMXChXPtC8Kwt6bU5jln2b4669dTojSaAPqQ&h=KF3-wk_su7f-yN-C0TFPH-QFe9SQv8dJ4ve4n9CCOCA + method: GET + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 0 + uncompressed: false + body: "" + headers: + Cache-Control: + - no-cache + Content-Length: + - "0" + 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: AA6FD87AF4CE4C46ADCEF6AE55BE5B5F Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:22:14Z' + status: 200 OK + code: 200 + duration: 21.063572ms + - id: 52 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 109 + uncompressed: false + body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-ibulhj'' could not be found."}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "109" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: C70414448096486C898C17D3299F18C0 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:22:18Z' + status: 404 Not Found + code: 404 + duration: 71.421008ms + - id: 53 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd?api-version=2023-06-30 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 109 + uncompressed: false + body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-ibulhj'' could not be found."}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "109" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 9D867899D71C457DB05EDE15CD1C3CAF Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:22:18Z' + status: 404 Not Found + code: 404 + duration: 72.351107ms + - id: 54 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/administrators/ActiveDirectory?api-version=2023-06-30 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 239 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotestqxsskd'' under resource group ''asotest-rg-ibulhj'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "239" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: B94D733ACB29435A8EFFFB4A8AA378A2 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:22:23Z' + status: 404 Not Found + code: 404 + duration: 64.759317ms + - id: 55 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/databases/asotestowwzmm?api-version=2023-06-30 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 239 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotestqxsskd'' under resource group ''asotest-rg-ibulhj'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "239" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: F461FBA674664D4D80722BAE29C07D17 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:22:23Z' + status: 404 Not Found + code: 404 + duration: 72.358107ms + - id: 56 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/configurations/max_connections?api-version=2023-06-30 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 239 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotestqxsskd'' under resource group ''asotest-rg-ibulhj'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "239" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 6E2FEB0984BB4B74A0E09AB55E639DE2 Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:22:23Z' + status: 404 Not Found + code: 404 + duration: 92.576581ms + - id: 57 + request: + proto: HTTP/1.1 + proto_major: 1 + proto_minor: 1 + content_length: 0 + transfer_encoding: [] + trailer: {} + host: management.azure.com + remote_addr: "" + request_uri: "" + body: "" + form: {} + headers: + Accept: + - application/json + Test-Request-Attempt: + - "0" + url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ibulhj/providers/Microsoft.DBforMySQL/flexibleServers/asotestqxsskd/firewallRules/asotestoyrpnb?api-version=2023-06-30 + method: DELETE + response: + proto: HTTP/2.0 + proto_major: 2 + proto_minor: 0 + transfer_encoding: [] + trailer: {} + content_length: 239 + uncompressed: false + body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotestqxsskd'' under resource group ''asotest-rg-ibulhj'' was not found. For more details please go to https://aka.ms/ARMResourceNotFoundFix"}}' + headers: + Cache-Control: + - no-cache + Content-Length: + - "239" + Content-Type: + - application/json; charset=utf-8 + Expires: + - "-1" + Pragma: + - no-cache + Strict-Transport-Security: + - max-age=31536000; includeSubDomains + X-Cache: + - CONFIG_NOCACHE + X-Content-Type-Options: + - nosniff + X-Ms-Failure-Cause: + - gateway + X-Msedge-Ref: + - 'Ref A: 996B5FEE61DC4AB4BF812887FE45A02B Ref B: CO6AA3150219017 Ref C: 2024-04-03T18:22:23Z' + status: 404 Not Found + code: 404 + duration: 76.507902ms diff --git a/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api_CreationAndDeletion.yaml b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api_CreationAndDeletion.yaml index 855abc828a7..2797c38e00e 100644 --- a/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api_CreationAndDeletion.yaml +++ b/v2/internal/controllers/recordings/Test_Samples_CreationAndDeletion/Test_Dbformysql_v1api_CreationAndDeletion.yaml @@ -1,2095 +1,3 @@ --- -version: 1 -interactions: -- request: - body: '{"location":"westus2","name":"asotest-rg-ihkvec","tags":{"CreatedAt":"2001-02-03T04:05:06Z"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "93" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec?api-version=2020-06-01 - method: PUT - response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec","name":"asotest-rg-ihkvec","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "276" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 201 Created - code: 201 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec?api-version=2020-06-01 - method: GET - response: - body: '{"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec","name":"asotest-rg-ihkvec","type":"Microsoft.Resources/resourceGroups","location":"westus2","tags":{"CreatedAt":"2001-02-03T04:05:06Z"},"properties":{"provisioningState":"Succeeded"}}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: '{"location":"eastus","name":"adminidentity"}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "44" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 - method: PUT - response: - body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ihkvec/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity","name":"adminidentity","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"82c92628-80be-4955-b16e-5b472340f13c","clientId":"c1b02d3e-fa64-4377-b8cf-20f20777e0aa"}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "445" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - /subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ihkvec/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 201 Created - code: 201 - duration: "" -- request: - body: '{"location":"eastus","name":"adminidentity"}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "44" - Content-Type: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 - method: PUT - response: - body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ihkvec/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity","name":"adminidentity","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"82c92628-80be-4955-b16e-5b472340f13c","clientId":"c1b02d3e-fa64-4377-b8cf-20f20777e0aa"}}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 - method: GET - response: - body: '{"location":"eastus","tags":{},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ihkvec/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity","name":"adminidentity","type":"Microsoft.ManagedIdentity/userAssignedIdentities","properties":{"tenantId":"00000000-0000-0000-0000-000000000000","principalId":"82c92628-80be-4955-b16e-5b472340f13c","clientId":"c1b02d3e-fa64-4377-b8cf-20f20777e0aa"}}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: '{"identity":{"type":"UserAssigned","userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity":{}}},"location":"eastus","name":"asotestmljpem","properties":{"administratorLogin":"myAdmin","administratorLoginPassword":"{PASSWORD}","storage":{"storageSizeGB":128},"version":"8.0.21"},"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "509" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem?api-version=2021-05-01 - method: PUT - response: - body: '{"operation":"UpsertServerManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/fc017f51-2607-48d8-b64e-abd9230bdbcf?api-version=2021-05-01 - Cache-Control: - - no-cache - Content-Length: - - "88" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/fc017f51-2607-48d8-b64e-abd9230bdbcf?api-version=2021-05-01 - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/fc017f51-2607-48d8-b64e-abd9230bdbcf?api-version=2021-05-01 - method: GET - response: - body: '{"name":"fc017f51-2607-48d8-b64e-abd9230bdbcf","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/fc017f51-2607-48d8-b64e-abd9230bdbcf?api-version=2021-05-01 - method: GET - response: - body: '{"name":"fc017f51-2607-48d8-b64e-abd9230bdbcf","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/fc017f51-2607-48d8-b64e-abd9230bdbcf?api-version=2021-05-01 - method: GET - response: - body: '{"name":"fc017f51-2607-48d8-b64e-abd9230bdbcf","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/fc017f51-2607-48d8-b64e-abd9230bdbcf?api-version=2021-05-01 - method: GET - response: - body: '{"name":"fc017f51-2607-48d8-b64e-abd9230bdbcf","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/fc017f51-2607-48d8-b64e-abd9230bdbcf?api-version=2021-05-01 - method: GET - response: - body: '{"name":"fc017f51-2607-48d8-b64e-abd9230bdbcf","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem?api-version=2021-05-01 - method: GET - response: - body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ihkvec/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity":{"principalId":"82c92628-80be-4955-b16e-5b472340f13c","tenantId":"00000000-0000-0000-0000-000000000000"}},"principalId":"00000000-0000-0000-0000-000000000000","type":"UserAssigned","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myAdmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotestmljpem.mysql.database.azure.com","availabilityZone":"2","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":7,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2023-05-15T23:49:15.3453236+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East - US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem","name":"asotestmljpem","type":"Microsoft.DBforMySQL/flexibleServers"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem?api-version=2021-05-01 - method: GET - response: - body: '{"sku":{"name":"Standard_D4ds_v4","tier":"GeneralPurpose"},"identity":{"userAssignedIdentities":{"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ihkvec/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity":{"principalId":"82c92628-80be-4955-b16e-5b472340f13c","tenantId":"00000000-0000-0000-0000-000000000000"}},"principalId":"00000000-0000-0000-0000-000000000000","type":"UserAssigned","tenantId":"00000000-0000-0000-0000-000000000000"},"systemData":{"createdAt":"2001-02-03T04:05:06Z"},"properties":{"administratorLogin":"myAdmin","storage":{"storageSizeGB":128,"iops":684,"autoGrow":"Enabled","storageSku":"Premium_LRS"},"version":"8.0.21","state":"Ready","fullyQualifiedDomainName":"asotestmljpem.mysql.database.azure.com","availabilityZone":"2","maintenanceWindow":{"customWindow":"Disabled","dayOfWeek":0,"startHour":0,"startMinute":0},"replicationRole":"None","replicaCapacity":10,"network":{"publicNetworkAccess":"Enabled"},"backup":{"backupRetentionDays":7,"geoRedundantBackup":"Disabled","earliestRestoreDate":"2023-05-15T23:49:15.3453236+00:00"},"highAvailability":{"mode":"Disabled","state":"NotEnabled","standbyAvailabilityZone":""}},"location":"East - US","id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem","name":"asotestmljpem","type":"Microsoft.DBforMySQL/flexibleServers"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: '{"name":"asotestqmmqdf","properties":{"endIpAddress":"1.2.3.4","startIpAddress":"1.2.3.4"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "91" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/firewallRules/asotestqmmqdf?api-version=2021-05-01 - method: PUT - response: - body: '{"operation":"UpsertServerFirewallRulesManagementOperation","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/9ca6fcb7-b325-4b8f-93f9-1e09a088ee3b?api-version=2021-05-01 - Cache-Control: - - no-cache - Content-Length: - - "99" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/9ca6fcb7-b325-4b8f-93f9-1e09a088ee3b?api-version=2021-05-01 - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: '{"name":"ActiveDirectory","properties":{"administratorType":"ActiveDirectory","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity","login":"adminidentity","sid":"c1b02d3e-fa64-4377-b8cf-20f20777e0aa","tenantId":"00000000-0000-0000-0000-000000000000"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "379" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/administrators/ActiveDirectory?api-version=2022-01-01 - method: PUT - response: - body: '{"operation":"UpsertActiveDirectoryAdministratorManagementOperation","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b3785a50-509c-42ed-af43-9f256deb5b75?api-version=2022-01-01 - Cache-Control: - - no-cache - Content-Length: - - "108" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/b3785a50-509c-42ed-af43-9f256deb5b75?api-version=2022-01-01 - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: '{"name":"asotesthkinjo","properties":{"charset":"utf8mb4"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "59" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/databases/asotesthkinjo?api-version=2021-05-01 - method: PUT - response: - body: '{"operation":"UpsertServerDatabaseManagementOperation","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/15503561-1a19-4434-bec8-7a430f178011?api-version=2021-05-01 - Cache-Control: - - no-cache - Content-Length: - - "93" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/15503561-1a19-4434-bec8-7a430f178011?api-version=2021-05-01 - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: '{"name":"max_connections","properties":{"source":"user-override","value":"20"}}' - form: {} - headers: - Accept: - - application/json - Content-Length: - - "79" - Content-Type: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/configurations/max_connections?api-version=2022-01-01 - method: PUT - response: - body: '{"operation":"UpdateServerParameterManagementOperationV2","startTime":"2001-02-03T04:05:06Z"}' - headers: - Azure-Asyncoperation: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/492784c8-3dd1-412d-8e45-d21e47662c13?api-version=2022-01-01 - Cache-Control: - - no-cache - Content-Length: - - "97" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/operationResults/492784c8-3dd1-412d-8e45-d21e47662c13?api-version=2022-01-01 - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/9ca6fcb7-b325-4b8f-93f9-1e09a088ee3b?api-version=2021-05-01 - method: GET - response: - body: '{"name":"9ca6fcb7-b325-4b8f-93f9-1e09a088ee3b","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b3785a50-509c-42ed-af43-9f256deb5b75?api-version=2022-01-01 - method: GET - response: - body: '{"name":"b3785a50-509c-42ed-af43-9f256deb5b75","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/15503561-1a19-4434-bec8-7a430f178011?api-version=2021-05-01 - method: GET - response: - body: '{"name":"15503561-1a19-4434-bec8-7a430f178011","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/492784c8-3dd1-412d-8e45-d21e47662c13?api-version=2022-01-01 - method: GET - response: - body: '{"name":"492784c8-3dd1-412d-8e45-d21e47662c13","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/15503561-1a19-4434-bec8-7a430f178011?api-version=2021-05-01 - method: GET - response: - body: '{"name":"15503561-1a19-4434-bec8-7a430f178011","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/492784c8-3dd1-412d-8e45-d21e47662c13?api-version=2022-01-01 - method: GET - response: - body: '{"name":"492784c8-3dd1-412d-8e45-d21e47662c13","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/15503561-1a19-4434-bec8-7a430f178011?api-version=2021-05-01 - method: GET - response: - body: '{"name":"15503561-1a19-4434-bec8-7a430f178011","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/492784c8-3dd1-412d-8e45-d21e47662c13?api-version=2022-01-01 - method: GET - response: - body: '{"name":"492784c8-3dd1-412d-8e45-d21e47662c13","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/15503561-1a19-4434-bec8-7a430f178011?api-version=2021-05-01 - method: GET - response: - body: '{"name":"15503561-1a19-4434-bec8-7a430f178011","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/492784c8-3dd1-412d-8e45-d21e47662c13?api-version=2022-01-01 - method: GET - response: - body: '{"name":"492784c8-3dd1-412d-8e45-d21e47662c13","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/9ca6fcb7-b325-4b8f-93f9-1e09a088ee3b?api-version=2021-05-01 - method: GET - response: - body: '{"name":"9ca6fcb7-b325-4b8f-93f9-1e09a088ee3b","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b3785a50-509c-42ed-af43-9f256deb5b75?api-version=2022-01-01 - method: GET - response: - body: '{"name":"b3785a50-509c-42ed-af43-9f256deb5b75","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/firewallRules/asotestqmmqdf?api-version=2021-05-01 - method: GET - response: - body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.4"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/firewallRules/asotestqmmqdf","name":"asotestqmmqdf","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/firewallRules/asotestqmmqdf?api-version=2021-05-01 - method: GET - response: - body: '{"properties":{"startIpAddress":"1.2.3.4","endIpAddress":"1.2.3.4"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/firewallRules/asotestqmmqdf","name":"asotestqmmqdf","type":"Microsoft.DBforMySQL/flexibleServers/firewallRules"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/492784c8-3dd1-412d-8e45-d21e47662c13?api-version=2022-01-01 - method: GET - response: - body: '{"name":"492784c8-3dd1-412d-8e45-d21e47662c13","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/15503561-1a19-4434-bec8-7a430f178011?api-version=2021-05-01 - method: GET - response: - body: '{"name":"15503561-1a19-4434-bec8-7a430f178011","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "5" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/492784c8-3dd1-412d-8e45-d21e47662c13?api-version=2022-01-01 - method: GET - response: - body: '{"name":"492784c8-3dd1-412d-8e45-d21e47662c13","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "5" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/15503561-1a19-4434-bec8-7a430f178011?api-version=2021-05-01 - method: GET - response: - body: '{"name":"15503561-1a19-4434-bec8-7a430f178011","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "6" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/492784c8-3dd1-412d-8e45-d21e47662c13?api-version=2022-01-01 - method: GET - response: - body: '{"name":"492784c8-3dd1-412d-8e45-d21e47662c13","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "6" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/15503561-1a19-4434-bec8-7a430f178011?api-version=2021-05-01 - method: GET - response: - body: '{"name":"15503561-1a19-4434-bec8-7a430f178011","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "7" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/492784c8-3dd1-412d-8e45-d21e47662c13?api-version=2022-01-01 - method: GET - response: - body: '{"name":"492784c8-3dd1-412d-8e45-d21e47662c13","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "7" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/15503561-1a19-4434-bec8-7a430f178011?api-version=2021-05-01 - method: GET - response: - body: '{"name":"15503561-1a19-4434-bec8-7a430f178011","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/b3785a50-509c-42ed-af43-9f256deb5b75?api-version=2022-01-01 - method: GET - response: - body: '{"name":"b3785a50-509c-42ed-af43-9f256deb5b75","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "60" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/administrators/ActiveDirectory?api-version=2022-01-01 - method: GET - response: - body: '{"properties":{"administratorType":"ActiveDirectory","login":"adminidentity","sid":"c1b02d3e-fa64-4377-b8cf-20f20777e0aa","tenantId":"00000000-0000-0000-0000-000000000000","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ihkvec/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/administrators/ActiveDirectory","name":"ActiveDirectory","type":"Microsoft.DBforMySQL/flexibleServers/administrators"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/administrators/ActiveDirectory?api-version=2022-01-01 - method: GET - response: - body: '{"properties":{"administratorType":"ActiveDirectory","login":"adminidentity","sid":"c1b02d3e-fa64-4377-b8cf-20f20777e0aa","tenantId":"00000000-0000-0000-0000-000000000000","identityResourceId":"/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/asotest-rg-ihkvec/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/administrators/ActiveDirectory","name":"ActiveDirectory","type":"Microsoft.DBforMySQL/flexibleServers/administrators"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "8" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/492784c8-3dd1-412d-8e45-d21e47662c13?api-version=2022-01-01 - method: GET - response: - body: '{"name":"492784c8-3dd1-412d-8e45-d21e47662c13","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "8" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/15503561-1a19-4434-bec8-7a430f178011?api-version=2021-05-01 - method: GET - response: - body: '{"name":"15503561-1a19-4434-bec8-7a430f178011","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/databases/asotesthkinjo?api-version=2021-05-01 - method: GET - response: - body: '{"properties":{"charset":"utf8mb4","collation":"utf8mb4_0900_ai_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/databases/asotesthkinjo","name":"asotesthkinjo","type":"Microsoft.DBforMySQL/flexibleServers/databases"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/databases/asotesthkinjo?api-version=2021-05-01 - method: GET - response: - body: '{"properties":{"charset":"utf8mb4","collation":"utf8mb4_0900_ai_ci"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/databases/asotesthkinjo","name":"asotesthkinjo","type":"Microsoft.DBforMySQL/flexibleServers/databases"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "9" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/492784c8-3dd1-412d-8e45-d21e47662c13?api-version=2022-01-01 - method: GET - response: - body: '{"name":"492784c8-3dd1-412d-8e45-d21e47662c13","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "10" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/492784c8-3dd1-412d-8e45-d21e47662c13?api-version=2022-01-01 - method: GET - response: - body: '{"name":"492784c8-3dd1-412d-8e45-d21e47662c13","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "11" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/492784c8-3dd1-412d-8e45-d21e47662c13?api-version=2022-01-01 - method: GET - response: - body: '{"name":"492784c8-3dd1-412d-8e45-d21e47662c13","status":"InProgress","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "12" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.DBforMySQL/locations/eastus/azureAsyncOperation/492784c8-3dd1-412d-8e45-d21e47662c13?api-version=2022-01-01 - method: GET - response: - body: '{"name":"492784c8-3dd1-412d-8e45-d21e47662c13","status":"Succeeded","startTime":"2001-02-03T04:05:06Z"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Retry-After: - - "15" - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/configurations/max_connections?api-version=2022-01-01 - method: GET - response: - body: '{"properties":{"value":"20","currentValue":"20","description":"The maximum - permitted number of simultaneous client connections.","defaultValue":"1365","dataType":"Integer","allowedValues":"10-2731","source":"user-override","isConfigPendingRestart":"False","isDynamicConfig":"True","isReadOnly":"False","documentationLink":"https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/configurations/max_connections","name":"max_connections","type":"Microsoft.DBforMySQL/flexibleServers/configurations"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/configurations/max_connections?api-version=2022-01-01 - method: GET - response: - body: '{"properties":{"value":"20","currentValue":"20","description":"The maximum - permitted number of simultaneous client connections.","defaultValue":"1365","dataType":"Integer","allowedValues":"10-2731","source":"user-override","isConfigPendingRestart":"False","isDynamicConfig":"True","isReadOnly":"False","documentationLink":"https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections"},"id":"/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/configurations/max_connections","name":"max_connections","type":"Microsoft.DBforMySQL/flexibleServers/configurations"}' - headers: - Cache-Control: - - no-cache - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Server: - - Microsoft-HTTPAPI/2.0 - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - Vary: - - Accept-Encoding - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec?api-version=2020-06-01 - method: DELETE - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJSEtWRUMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJSEtWRUMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJSEtWRUMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "1" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJSEtWRUMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJSEtWRUMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "2" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJSEtWRUMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJSEtWRUMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "3" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJSEtWRUMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Location: - - https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJSEtWRUMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - Pragma: - - no-cache - Retry-After: - - "15" - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 202 Accepted - code: 202 - duration: "" -- request: - body: "" - form: {} - headers: - Test-Request-Attempt: - - "4" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/operationresults/eyJqb2JJZCI6IlJFU09VUkNFR1JPVVBERUxFVElPTkpPQi1BU09URVNUOjJEUkc6MkRJSEtWRUMtV0VTVFVTMiIsImpvYkxvY2F0aW9uIjoid2VzdHVzMiJ9?api-version=2020-06-01 - method: GET - response: - body: "" - headers: - Cache-Control: - - no-cache - Content-Length: - - "0" - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - status: 200 OK - code: 200 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.ManagedIdentity/userAssignedIdentities/adminidentity?api-version=2018-11-30 - method: DELETE - response: - body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-ihkvec'' - could not be found."}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "109" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - X-Ms-Failure-Cause: - - gateway - status: 404 Not Found - code: 404 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem?api-version=2021-05-01 - method: DELETE - response: - body: '{"error":{"code":"ResourceGroupNotFound","message":"Resource group ''asotest-rg-ihkvec'' - could not be found."}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "109" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - X-Ms-Failure-Cause: - - gateway - status: 404 Not Found - code: 404 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/firewallRules/asotestqmmqdf?api-version=2021-05-01 - method: DELETE - response: - body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotestmljpem'' - under resource group ''asotest-rg-ihkvec'' was not found. For more details please - go to https://aka.ms/ARMResourceNotFoundFix"}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "239" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - X-Ms-Failure-Cause: - - gateway - status: 404 Not Found - code: 404 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/administrators/ActiveDirectory?api-version=2022-01-01 - method: DELETE - response: - body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotestmljpem'' - under resource group ''asotest-rg-ihkvec'' was not found. For more details please - go to https://aka.ms/ARMResourceNotFoundFix"}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "239" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - X-Ms-Failure-Cause: - - gateway - status: 404 Not Found - code: 404 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/configurations/max_connections?api-version=2022-01-01 - method: DELETE - response: - body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotestmljpem'' - under resource group ''asotest-rg-ihkvec'' was not found. For more details please - go to https://aka.ms/ARMResourceNotFoundFix"}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "239" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - X-Ms-Failure-Cause: - - gateway - status: 404 Not Found - code: 404 - duration: "" -- request: - body: "" - form: {} - headers: - Accept: - - application/json - Test-Request-Attempt: - - "0" - url: https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/asotest-rg-ihkvec/providers/Microsoft.DBforMySQL/flexibleServers/asotestmljpem/databases/asotesthkinjo?api-version=2021-05-01 - method: DELETE - response: - body: '{"error":{"code":"ResourceNotFound","message":"The Resource ''Microsoft.DBforMySQL/flexibleServers/asotestmljpem'' - under resource group ''asotest-rg-ihkvec'' was not found. For more details please - go to https://aka.ms/ARMResourceNotFoundFix"}}' - headers: - Cache-Control: - - no-cache - Content-Length: - - "239" - Content-Type: - - application/json; charset=utf-8 - Expires: - - "-1" - Pragma: - - no-cache - Strict-Transport-Security: - - max-age=31536000; includeSubDomains - X-Content-Type-Options: - - nosniff - X-Ms-Failure-Cause: - - gateway - status: 404 Not Found - code: 404 - duration: "" +version: 2 +interactions: [] diff --git a/v2/internal/controllers/user_assigned_identities_test.go b/v2/internal/controllers/user_assigned_identities_test.go index eb019ccd6cf..65a55eec8a4 100644 --- a/v2/internal/controllers/user_assigned_identities_test.go +++ b/v2/internal/controllers/user_assigned_identities_test.go @@ -86,7 +86,7 @@ func Test_MySQLServerWithKubernetesReferenceUserAssignedIdentity(t *testing.T) { adminPasswordKey := "adminPassword" adminPasswordSecretRef := createPasswordSecret(secretName, adminPasswordKey, tc) - flexibleServer, _ := newFlexibleServer(tc, rg, adminPasswordSecretRef) + flexibleServer, _ := newFlexibleServer20210501(tc, rg, adminPasswordSecretRef) flexibleServer.Spec.Identity = &mysql.Identity{ Type: to.Ptr(mysql.Identity_Type_UserAssigned), UserAssignedIdentities: []mysql.UserAssignedIdentityDetails{ diff --git a/v2/internal/reconcilers/arm/azure_generic_arm_reconciler_instance.go b/v2/internal/reconcilers/arm/azure_generic_arm_reconciler_instance.go index 86230ba2b48..7e0adb2b15f 100644 --- a/v2/internal/reconcilers/arm/azure_generic_arm_reconciler_instance.go +++ b/v2/internal/reconcilers/arm/azure_generic_arm_reconciler_instance.go @@ -525,7 +525,7 @@ func (r *azureDeploymentReconcilerInstance) MonitorResourceCreation(ctx context. // Requeue to check again later retryAfter := genericarmclient.GetRetryAfter(poller.RawResponse) - r.Log.V(Debug).Info("Resource not created yet, will check again", "requeueAfter", retryAfter) + r.Log.V(Debug).Info("Resource not created/updated yet, will check again", "requeueAfter", retryAfter) return ctrl.Result{Requeue: true, RequeueAfter: retryAfter}, nil } diff --git a/v2/internal/reconcilers/mysql/connector.go b/v2/internal/reconcilers/mysql/connector.go index 1bf83941cfa..96edbded36f 100644 --- a/v2/internal/reconcilers/mysql/connector.go +++ b/v2/internal/reconcilers/mysql/connector.go @@ -12,7 +12,7 @@ import ( ctrlconversion "sigs.k8s.io/controller-runtime/pkg/conversion" asomysql "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1" - dbformysql "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20210501/storage" + dbformysql "github.com/Azure/azure-service-operator/v2/api/dbformysql/v1api20230630/storage" "github.com/Azure/azure-service-operator/v2/internal/resolver" "github.com/Azure/azure-service-operator/v2/pkg/genruntime/conditions" ) diff --git a/v2/samples/dbformysql/v1api/refs/v1api20181130_userassignedidentity.yaml b/v2/samples/dbformysql/v1api20210501/refs/v1api20181130_userassignedidentity.yaml similarity index 100% rename from v2/samples/dbformysql/v1api/refs/v1api20181130_userassignedidentity.yaml rename to v2/samples/dbformysql/v1api20210501/refs/v1api20181130_userassignedidentity.yaml diff --git a/v2/samples/dbformysql/v1api/v1api20210501_flexibleserver.yaml b/v2/samples/dbformysql/v1api20210501/v1api20210501_flexibleserver.yaml similarity index 100% rename from v2/samples/dbformysql/v1api/v1api20210501_flexibleserver.yaml rename to v2/samples/dbformysql/v1api20210501/v1api20210501_flexibleserver.yaml diff --git a/v2/samples/dbformysql/v1api/v1api20210501_flexibleserversdatabase.yaml b/v2/samples/dbformysql/v1api20210501/v1api20210501_flexibleserversdatabase.yaml similarity index 100% rename from v2/samples/dbformysql/v1api/v1api20210501_flexibleserversdatabase.yaml rename to v2/samples/dbformysql/v1api20210501/v1api20210501_flexibleserversdatabase.yaml diff --git a/v2/samples/dbformysql/v1api/v1api20210501_flexibleserversfirewallrule.yaml b/v2/samples/dbformysql/v1api20210501/v1api20210501_flexibleserversfirewallrule.yaml similarity index 100% rename from v2/samples/dbformysql/v1api/v1api20210501_flexibleserversfirewallrule.yaml rename to v2/samples/dbformysql/v1api20210501/v1api20210501_flexibleserversfirewallrule.yaml diff --git a/v2/samples/dbformysql/v1api20220101/refs/v1api20181130_userassignedidentity.yaml b/v2/samples/dbformysql/v1api20220101/refs/v1api20181130_userassignedidentity.yaml new file mode 100644 index 00000000000..e5568d33312 --- /dev/null +++ b/v2/samples/dbformysql/v1api20220101/refs/v1api20181130_userassignedidentity.yaml @@ -0,0 +1,17 @@ +apiVersion: managedidentity.azure.com/v1api20181130 +kind: UserAssignedIdentity +metadata: + name: adminidentity + namespace: default +spec: + location: eastus + owner: + name: aso-sample-rg + operatorSpec: + configMaps: + tenantId: + name: admin-settings + key: tenantId + clientId: + name: admin-settings + key: clientId diff --git a/v2/samples/dbformysql/v1api20220101/v1api20210501_flexibleserver.yaml b/v2/samples/dbformysql/v1api20220101/v1api20210501_flexibleserver.yaml new file mode 100644 index 00000000000..95aae8eef65 --- /dev/null +++ b/v2/samples/dbformysql/v1api20220101/v1api20210501_flexibleserver.yaml @@ -0,0 +1,27 @@ +apiVersion: dbformysql.azure.com/v1api20210501 +kind: FlexibleServer +metadata: + name: samplemysql + namespace: default +spec: + location: eastus + owner: + name: aso-sample-rg + version: "8.0.21" + sku: + name: Standard_D4ds_v4 + tier: GeneralPurpose + administratorLogin: myAdmin + administratorLoginPassword: # This is the name/key of a Kubernetes secret in the same namespace + name: server-admin-pw + key: password + storage: + storageSizeGB: 128 + # Use a user managed identity (UMI) as the identity - this is required for setting up an AAD Admin but can be omitted otherwise + identity: + type: UserAssigned + userAssignedIdentities: + - reference: + group: managedidentity.azure.com + kind: UserAssignedIdentity + name: adminidentity diff --git a/v2/samples/dbformysql/v1api/v1api20220101_flexibleserversadministrator.yaml b/v2/samples/dbformysql/v1api20220101/v1api20220101_flexibleserversadministrator.yaml similarity index 100% rename from v2/samples/dbformysql/v1api/v1api20220101_flexibleserversadministrator.yaml rename to v2/samples/dbformysql/v1api20220101/v1api20220101_flexibleserversadministrator.yaml diff --git a/v2/samples/dbformysql/v1api/v1api20220101_flexibleserversconfiguration.yaml b/v2/samples/dbformysql/v1api20220101/v1api20220101_flexibleserversconfiguration.yaml similarity index 100% rename from v2/samples/dbformysql/v1api/v1api20220101_flexibleserversconfiguration.yaml rename to v2/samples/dbformysql/v1api20220101/v1api20220101_flexibleserversconfiguration.yaml diff --git a/v2/samples/dbformysql/v1api20230630/refs/v1api20181130_userassignedidentity.yaml b/v2/samples/dbformysql/v1api20230630/refs/v1api20181130_userassignedidentity.yaml new file mode 100644 index 00000000000..e5568d33312 --- /dev/null +++ b/v2/samples/dbformysql/v1api20230630/refs/v1api20181130_userassignedidentity.yaml @@ -0,0 +1,17 @@ +apiVersion: managedidentity.azure.com/v1api20181130 +kind: UserAssignedIdentity +metadata: + name: adminidentity + namespace: default +spec: + location: eastus + owner: + name: aso-sample-rg + operatorSpec: + configMaps: + tenantId: + name: admin-settings + key: tenantId + clientId: + name: admin-settings + key: clientId diff --git a/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserver.yaml b/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserver.yaml new file mode 100644 index 00000000000..7f566b817ae --- /dev/null +++ b/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserver.yaml @@ -0,0 +1,27 @@ +apiVersion: dbformysql.azure.com/v1api20230630 +kind: FlexibleServer +metadata: + name: samplemysql + namespace: default +spec: + location: eastus + owner: + name: aso-sample-rg + version: "8.0.21" + sku: + name: Standard_D4ds_v4 + tier: GeneralPurpose + administratorLogin: myAdmin + administratorLoginPassword: # This is the name/key of a Kubernetes secret in the same namespace + name: server-admin-pw + key: password + storage: + storageSizeGB: 128 + # Use a user managed identity (UMI) as the identity - this is required for setting up an AAD Admin but can be omitted otherwise + identity: + type: UserAssigned + userAssignedIdentities: + - reference: + group: managedidentity.azure.com + kind: UserAssignedIdentity + name: adminidentity diff --git a/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversadministrator.yaml b/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversadministrator.yaml new file mode 100644 index 00000000000..13ddfee1f3f --- /dev/null +++ b/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversadministrator.yaml @@ -0,0 +1,23 @@ +apiVersion: dbformysql.azure.com/v1api20230630 +kind: FlexibleServersAdministrator +metadata: + name: myadmin + namespace: default +spec: + owner: + name: samplemysql + administratorType: ActiveDirectory + login: adminidentity + tenantIdFromConfig: + name: admin-settings + key: tenantId + # We recommend that an ASO identity is configured as the AAD Administrator the Flexible Server + # in the case where you would like to use ASO to manage AAD users on the server. Provide the ASO identity + # clientId for the SID here. + sidFromConfig: + name: admin-settings + key: clientId + identityResourceReference: + group: managedidentity.azure.com + kind: UserAssignedIdentity + name: adminidentity diff --git a/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversconfiguration.yaml b/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversconfiguration.yaml new file mode 100644 index 00000000000..956ff9dbf93 --- /dev/null +++ b/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversconfiguration.yaml @@ -0,0 +1,11 @@ +apiVersion: dbformysql.azure.com/v1api20230630 +kind: FlexibleServersConfiguration +metadata: + name: maxconnections + namespace: default +spec: + owner: + name: samplemysql + azureName: max_connections + source: user-override + value: "20" diff --git a/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversdatabase.yaml b/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversdatabase.yaml new file mode 100644 index 00000000000..02bc079fb79 --- /dev/null +++ b/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversdatabase.yaml @@ -0,0 +1,9 @@ +apiVersion: dbformysql.azure.com/v1api20230630 +kind: FlexibleServersDatabase +metadata: + name: sampledb + namespace: default +spec: + owner: + name: samplemysql + charset: utf8mb4 diff --git a/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversfirewallrule.yaml b/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversfirewallrule.yaml new file mode 100644 index 00000000000..575306de77f --- /dev/null +++ b/v2/samples/dbformysql/v1api20230630/v1api20230630_flexibleserversfirewallrule.yaml @@ -0,0 +1,10 @@ +apiVersion: dbformysql.azure.com/v1api20230630 +kind: FlexibleServersFirewallRule +metadata: + name: samplemysql-fwrule + namespace: default +spec: + owner: + name: samplemysql + startIpAddress: 1.2.3.4 + endIpAddress: 1.2.3.4